<template>
  <div class="page_root" data-page-name="客户管理" data-page-identification="s_gbpv44zelm">
    <a-spin :spinning="pageLoading.loading" :tip="pageLoading.tip">
      <!-- begin vid_la5kq6chtz 全局提示_编辑成功 -->
      <!-- end vid_la5kq6chtz 全局提示_编辑成功 -->
      <!-- begin vid_di3vjr4k4d 全局提示_编辑失败 -->
      <!-- end vid_di3vjr4k4d 全局提示_编辑失败 -->
      <!-- begin vid_433d6uohon 编辑 -->
      <a-modal
        class="vid_433d6uohon"
        v-model:visible="vid_433d6uohon_props.visible"
        :title="'编辑'"
        :width="1000"
        :maskClosable="false"
        :centered="true"
        @cancel="handle_vid_433d6uohon_cancel"
        @ok="handle_vid_433d6uohon_ok"
      >
        <!-- begin vid_ypmph53588 表单容器_编辑 -->
        <a-form ref="vid_ypmph53588_ref" class="vid_ypmph53588" :model="f_8ci2bwlqme" :formModel="vid_ypmph53588_props.formModel">
          <!-- begin vid_4frozx1tbk 布局容器_f74l4hbmev -->
          <div :style="{width: '100%'}">
            <a-row class="vid_4frozx1tbk" :slots="'12:12'">
              <a-col :span="12">
                <!-- begin vid_nythvmq2tq 表单项容器_rmuzhwxjz4 -->
                <a-form-item name="a_hfmd2rmq7z" :rules="f_8ci2bwlqme_rules[`a_hfmd2rmq7z`]" class="vid_nythvmq2tq" :label-col='{"span":7}' :wrapper-col='{"span":17}'>
                  <!-- begin vid_so2th967iu 输入框_customerName -->
                  <a-input class="vid_so2th967iu" v-model:value="f_8ci2bwlqme.a_hfmd2rmq7z" :placeholder="'请输入客户名称'"> </a-input>
                  <!-- end vid_so2th967iu 输入框_customerName -->
                  <template #label>
                    <!-- begin vid_8n7n7o5ln3 客户名称 -->
                    <span class="vid_8n7n7o5ln3"> 客户名称 </span>
                    <!-- end vid_8n7n7o5ln3 客户名称 -->
                  </template>
                </a-form-item>
                <!-- end vid_nythvmq2tq 表单项容器_rmuzhwxjz4 -->
              </a-col>
              <a-col :span="12">
                <!-- begin vid_mao6is20rs 表单项容器_ts2dx2xnq1 -->
                <a-form-item name="s_9y95ptl9yc" :rules="f_8ci2bwlqme_rules[`s_9y95ptl9yc`]" class="vid_mao6is20rs" :label-col='{"span":7}' :wrapper-col='{"span":17}'>
                  <!-- begin vid_v9ldla8m3l 下拉框_primaryIndustry -->
                  <a-select
                    class="vid_v9ldla8m3l"
                    :getPopupContainer="(node) => node.parentNode"
                    v-model:value="f_8ci2bwlqme.s_9y95ptl9yc"
                    :allowClear="true"
                    :dropdownMatchSelectWidth="true"
                    :showSearch="true"
                    :filterOption="(input, option) => {
        return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0;
      }"
                    :showArrow="true"
                    :placeholder="'请选择一级行业'"
                    :selected="vid_v9ldla8m3l_props.selected"
                    :searchValue="vid_v9ldla8m3l_props.searchValue"
                    :options="vid_v9ldla8m3l_options()"
                    @focus="handle_vid_v9ldla8m3l_focus"
                    @change="handle_vid_v9ldla8m3l_change"
                    @search="handle_vid_v9ldla8m3l_search"
                  >
                  </a-select>
                  <!-- end vid_v9ldla8m3l 下拉框_primaryIndustry -->
                  <template #label>
                    <!-- begin vid_n0oouuawjr 客户所属一级行业 -->
                    <span class="vid_n0oouuawjr"> 客户所属一级行业 </span>
                    <!-- end vid_n0oouuawjr 客户所属一级行业 -->
                  </template>
                </a-form-item>
                <!-- end vid_mao6is20rs 表单项容器_ts2dx2xnq1 -->
              </a-col>
            </a-row>
          </div>
          <!-- end vid_4frozx1tbk 布局容器_f74l4hbmev -->
          <!-- begin vid_21jkigjaex 布局容器_9zw1hpjstz -->
          <div :style="{width: '100%'}">
            <a-row class="vid_21jkigjaex" :slots="'12:12'">
              <a-col :span="12">
                <!-- begin vid_18em8sj1fr 表单项容器_lwzgvbpt89 -->
                <a-form-item name="k_f3hp75oteq" :rules="f_8ci2bwlqme_rules[`k_f3hp75oteq`]" class="vid_18em8sj1fr" :label-col='{"span":7}' :wrapper-col='{"span":17}'>
                  <!-- begin vid_hsbzavvkfj 下拉框_secondaryIndustry -->
                  <a-select
                    class="vid_hsbzavvkfj"
                    :getPopupContainer="(node) => node.parentNode"
                    v-model:value="f_8ci2bwlqme.k_f3hp75oteq"
                    :allowClear="true"
                    :dropdownMatchSelectWidth="true"
                    :showSearch="true"
                    :filterOption="(input, option) => {
        return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0;
      }"
                    :showArrow="true"
                    :placeholder="'请选择二级行业'"
                    :selected="vid_hsbzavvkfj_props.selected"
                    :searchValue="vid_hsbzavvkfj_props.searchValue"
                    :options="vid_hsbzavvkfj_options()"
                    @focus="handle_vid_hsbzavvkfj_focus"
                    @change="handle_vid_hsbzavvkfj_change"
                    @search="handle_vid_hsbzavvkfj_search"
                  >
                  </a-select>
                  <!-- end vid_hsbzavvkfj 下拉框_secondaryIndustry -->
                  <template #label>
                    <!-- begin vid_q6rlfeml4m 客户所属二级行业 -->
                    <span class="vid_q6rlfeml4m"> 客户所属二级行业 </span>
                    <!-- end vid_q6rlfeml4m 客户所属二级行业 -->
                  </template>
                </a-form-item>
                <!-- end vid_18em8sj1fr 表单项容器_lwzgvbpt89 -->
              </a-col>
              <a-col :span="12">
                <!-- begin vid_aiz9o49d99 表单项容器_53t6bpd8o8 -->
                <a-form-item name="u_elwgqo7915" :rules="f_8ci2bwlqme_rules[`u_elwgqo7915`]" class="vid_aiz9o49d99" :label-col='{"span":7}' :wrapper-col='{"span":17}'>
                  <!-- begin vid_wsdyccec1l 输入框_contactPerson -->
                  <a-input class="vid_wsdyccec1l" v-model:value="f_8ci2bwlqme.u_elwgqo7915" :placeholder="'请输入主要对接人'"> </a-input>
                  <!-- end vid_wsdyccec1l 输入框_contactPerson -->
                  <template #label>
                    <!-- begin vid_dqzoasew6d 对接人 -->
                    <span class="vid_dqzoasew6d"> 对接人 </span>
                    <!-- end vid_dqzoasew6d 对接人 -->
                  </template>
                </a-form-item>
                <!-- end vid_aiz9o49d99 表单项容器_53t6bpd8o8 -->
              </a-col>
            </a-row>
          </div>
          <!-- end vid_21jkigjaex 布局容器_9zw1hpjstz -->
          <!-- begin vid_1foba9mmg0 布局容器_7jxxio37j6 -->
          <div :style="{width: '100%'}">
            <a-row class="vid_1foba9mmg0" :slots="'12:12'">
              <a-col :span="12">
                <!-- begin vid_6mbhcv3cxx 表单项容器_l4055ccy17 -->
                <a-form-item name="y_twnk51x69i" :rules="f_8ci2bwlqme_rules[`y_twnk51x69i`]" class="vid_6mbhcv3cxx" :label-col='{"span":7}' :wrapper-col='{"span":17}'>
                  <!-- begin vid_lftkjw5gba 输入框_department -->
                  <a-input class="vid_lftkjw5gba" v-model:value="f_8ci2bwlqme.y_twnk51x69i" :placeholder="'请输入所在部门'"> </a-input>
                  <!-- end vid_lftkjw5gba 输入框_department -->
                  <template #label>
                    <!-- begin vid_bulipm72is 所在部门 -->
                    <span class="vid_bulipm72is"> 所在部门 </span>
                    <!-- end vid_bulipm72is 所在部门 -->
                  </template>
                </a-form-item>
                <!-- end vid_6mbhcv3cxx 表单项容器_l4055ccy17 -->
              </a-col>
              <a-col :span="12">
                <!-- begin vid_iyu4l3sicc 表单项容器_yuvltl0iu4 -->
                <a-form-item name="x_h3wg9og2br" :rules="f_8ci2bwlqme_rules[`x_h3wg9og2br`]" class="vid_iyu4l3sicc" :label-col='{"span":7}' :wrapper-col='{"span":17}'>
                  <!-- begin vid_20mr05elq8 输入框_position -->
                  <a-input class="vid_20mr05elq8" v-model:value="f_8ci2bwlqme.x_h3wg9og2br" :placeholder="'请输入职务'"> </a-input>
                  <!-- end vid_20mr05elq8 输入框_position -->
                  <template #label>
                    <!-- begin vid_z8wi1flmq4 职务 -->
                    <span class="vid_z8wi1flmq4"> 职务 </span>
                    <!-- end vid_z8wi1flmq4 职务 -->
                  </template>
                </a-form-item>
                <!-- end vid_iyu4l3sicc 表单项容器_yuvltl0iu4 -->
              </a-col>
            </a-row>
          </div>
          <!-- end vid_1foba9mmg0 布局容器_7jxxio37j6 -->
          <!-- begin vid_s7sb7lhxrh 布局容器_qj64kn5iss -->
          <div :style="{width: '100%'}">
            <a-row class="vid_s7sb7lhxrh" :slots="'12:12'">
              <a-col :span="12">
                <!-- begin vid_dbnw19duw2 表单项容器_oqqxfmsunh -->
                <a-form-item name="n_cl8z267f01" :rules="f_8ci2bwlqme_rules[`n_cl8z267f01`]" class="vid_dbnw19duw2" :label-col='{"span":7}' :wrapper-col='{"span":17}'>
                  <!-- begin vid_7h5k6oymbx 输入框_mobilePhone -->
                  <a-input class="vid_7h5k6oymbx" v-model:value="f_8ci2bwlqme.n_cl8z267f01" :placeholder="'请输入手机号码'"> </a-input>
                  <!-- end vid_7h5k6oymbx 输入框_mobilePhone -->
                  <template #label>
                    <!-- begin vid_wjgk8sn8vv 手机号码 -->
                    <span class="vid_wjgk8sn8vv"> 手机号码 </span>
                    <!-- end vid_wjgk8sn8vv 手机号码 -->
                  </template>
                </a-form-item>
                <!-- end vid_dbnw19duw2 表单项容器_oqqxfmsunh -->
              </a-col>
              <a-col :span="12">
                <!-- begin vid_9zubbqgm0q 表单项容器_nnds0k8dci -->
                <a-form-item name="o_fcpnika2ng" :rules="f_8ci2bwlqme_rules[`o_fcpnika2ng`]" class="vid_9zubbqgm0q" :label-col='{"span":7}' :wrapper-col='{"span":17}'>
                  <!-- begin vid_evn9licvfn 输入框_landlinePhone -->
                  <a-input class="vid_evn9licvfn" v-model:value="f_8ci2bwlqme.o_fcpnika2ng" :placeholder="'请输入固话号码'"> </a-input>
                  <!-- end vid_evn9licvfn 输入框_landlinePhone -->
                  <template #label>
                    <!-- begin vid_izsgib28bf 固话号码 -->
                    <span class="vid_izsgib28bf"> 固话号码 </span>
                    <!-- end vid_izsgib28bf 固话号码 -->
                  </template>
                </a-form-item>
                <!-- end vid_9zubbqgm0q 表单项容器_nnds0k8dci -->
              </a-col>
            </a-row>
          </div>
          <!-- end vid_s7sb7lhxrh 布局容器_qj64kn5iss -->
          <!-- begin vid_kxgtwcczz5 布局容器_pl3vs7gdf8 -->
          <div :style="{width: '100%'}">
            <a-row class="vid_kxgtwcczz5" :slots="'12:12'">
              <a-col :span="12">
                <!-- begin vid_udufbcbeti 表单项容器_jv1q3w7sbj -->
                <a-form-item name="d_dqpm22o4ci" :rules="f_8ci2bwlqme_rules[`d_dqpm22o4ci`]" class="vid_udufbcbeti" :label-col='{"span":7}' :wrapper-col='{"span":17}'>
                  <!-- begin vid_fzzgb3eguw 输入框_wechatNumber -->
                  <a-input class="vid_fzzgb3eguw" v-model:value="f_8ci2bwlqme.d_dqpm22o4ci" :placeholder="'请输入微信号'"> </a-input>
                  <!-- end vid_fzzgb3eguw 输入框_wechatNumber -->
                  <template #label>
                    <!-- begin vid_kedcwmz4c8 微信号 -->
                    <span class="vid_kedcwmz4c8"> 微信号 </span>
                    <!-- end vid_kedcwmz4c8 微信号 -->
                  </template>
                </a-form-item>
                <!-- end vid_udufbcbeti 表单项容器_jv1q3w7sbj -->
              </a-col>
              <a-col :span="12">
                <!-- begin vid_0u43lcb95i 表单项容器_t77tzjkdc1 -->
                <a-form-item name="v_m8y2s2n9um" :rules="f_8ci2bwlqme_rules[`v_m8y2s2n9um`]" class="vid_0u43lcb95i" :label-col='{"span":7}' :wrapper-col='{"span":17}'>
                  <!-- begin vid_gai24ozvss 下拉框_ecologicalPartnerManagementId -->
                  <a-select
                    class="vid_gai24ozvss"
                    :getPopupContainer="(node) => node.parentNode"
                    v-model:value="f_8ci2bwlqme.v_m8y2s2n9um"
                    :allowClear="true"
                    :dropdownMatchSelectWidth="true"
                    :showSearch="true"
                    :filterOption="(input, option) => {
        return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0;
      }"
                    :showArrow="true"
                    :placeholder="'请选择生态伙伴'"
                    :selected="vid_gai24ozvss_props.selected"
                    :searchValue="vid_gai24ozvss_props.searchValue"
                    :options="vid_gai24ozvss_options()"
                    @focus="handle_vid_gai24ozvss_focus"
                    @change="handle_vid_gai24ozvss_change"
                    @search="handle_vid_gai24ozvss_search"
                  >
                  </a-select>
                  <!-- end vid_gai24ozvss 下拉框_ecologicalPartnerManagementId -->
                  <template #label>
                    <!-- begin vid_bw2py77s3w 所属生态伙伴 -->
                    <span class="vid_bw2py77s3w"> 所属生态伙伴 </span>
                    <!-- end vid_bw2py77s3w 所属生态伙伴 -->
                  </template>
                </a-form-item>
                <!-- end vid_0u43lcb95i 表单项容器_t77tzjkdc1 -->
              </a-col>
            </a-row>
          </div>
          <!-- end vid_kxgtwcczz5 布局容器_pl3vs7gdf8 -->
          <!-- begin vid_z8sdvsxisg 布局容器_kt9yl5eotg -->
          <div :style="{width: '100%'}">
            <a-row class="vid_z8sdvsxisg" :slots="'12:12'">
              <a-col :span="12">
                <!-- begin vid_vdfitxk2j2 表单项容器_8o6e0xm50h -->
                <a-form-item name="x_h2nmg2f3jt" :rules="f_8ci2bwlqme_rules[`x_h2nmg2f3jt`]" class="vid_vdfitxk2j2" :label-col='{"span":7}' :wrapper-col='{"span":17}'>
                  <!-- begin vid_a7hvylqa3o 下拉框_followUpStatus -->
                  <a-select
                    class="vid_a7hvylqa3o"
                    :getPopupContainer="(node) => node.parentNode"
                    v-model:value="f_8ci2bwlqme.x_h2nmg2f3jt"
                    :allowClear="true"
                    :dropdownMatchSelectWidth="true"
                    :showSearch="true"
                    :filterOption="(input, option) => {
        return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0;
      }"
                    :showArrow="true"
                    :placeholder="'请选择跟进状态'"
                    :selected="vid_a7hvylqa3o_props.selected"
                    :searchValue="vid_a7hvylqa3o_props.searchValue"
                    :options="vid_a7hvylqa3o_options()"
                    @change="handle_vid_a7hvylqa3o_change"
                    @search="handle_vid_a7hvylqa3o_search"
                  >
                  </a-select>
                  <!-- end vid_a7hvylqa3o 下拉框_followUpStatus -->
                  <template #label>
                    <!-- begin vid_phzlsbdqpd 简单文本_vg1yl46dwy -->
                    <span class="vid_phzlsbdqpd"> 跟进状态 </span>
                    <!-- end vid_phzlsbdqpd 简单文本_vg1yl46dwy -->
                  </template>
                </a-form-item>
                <!-- end vid_vdfitxk2j2 表单项容器_8o6e0xm50h -->
              </a-col>
              <a-col :span="12"> </a-col>
            </a-row>
          </div>
          <!-- end vid_z8sdvsxisg 布局容器_kt9yl5eotg -->
        </a-form>
        <!-- end vid_ypmph53588 表单容器_编辑 -->
      </a-modal>
      <!-- end vid_433d6uohon 编辑 -->
      <!-- begin vid_fzonycox3q 表单容器_c6m7frlals -->
      <a-form ref="vid_fzonycox3q_ref" class="vid_fzonycox3q" :model="l_7vu2ll5j1s" :formModel="vid_fzonycox3q_props.formModel">
        <!-- begin vid_ebc8zcplds 布局容器_wtki3n8cdw -->
        <div :style="{width: '100%'}">
          <a-row class="vid_ebc8zcplds" :slots="'5:5:5:5:4'">
            <a-col :span="5">
              <!-- begin vid_0dbjpi0owt 表单项容器_gbzxu0be7h -->
              <a-form-item name="z_73ucc2mop4" :rules="l_7vu2ll5j1s_rules[`z_73ucc2mop4`]" class="vid_0dbjpi0owt" :label-col='{"span":8}' :wrapper-col='{"span":16}'>
                <!-- begin vid_m6dghrd7wr 下拉框_一级行业 -->
                <a-select
                  class="vid_m6dghrd7wr"
                  :getPopupContainer="(node) => node.parentNode"
                  v-model:value="l_7vu2ll5j1s.z_73ucc2mop4"
                  :allowClear="true"
                  :dropdownMatchSelectWidth="true"
                  :showSearch="true"
                  :filterOption="(input, option) => {
        return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0;
      }"
                  :showArrow="true"
                  :placeholder="'请选择一级行业'"
                  :selected="vid_m6dghrd7wr_props.selected"
                  :searchValue="vid_m6dghrd7wr_props.searchValue"
                  :options="vid_m6dghrd7wr_options()"
                  @focus="handle_vid_m6dghrd7wr_focus"
                  @change="handle_vid_m6dghrd7wr_change"
                  @search="handle_vid_m6dghrd7wr_search"
                >
                </a-select>
                <!-- end vid_m6dghrd7wr 下拉框_一级行业 -->
                <template #label>
                  <!-- begin vid_m3n15xgozb 所属一级行业 -->
                  <span class="vid_m3n15xgozb"> 所属一级行业 </span>
                  <!-- end vid_m3n15xgozb 所属一级行业 -->
                </template>
              </a-form-item>
              <!-- end vid_0dbjpi0owt 表单项容器_gbzxu0be7h -->
            </a-col>
            <a-col :span="5">
              <!-- begin vid_rxm6g1n2ww 表单项容器_if1q4g000t -->
              <a-form-item name="q_ahawy49ux2" :rules="l_7vu2ll5j1s_rules[`q_ahawy49ux2`]" class="vid_rxm6g1n2ww" :label-col='{"span":8}' :wrapper-col='{"span":16}'>
                <!-- begin vid_y27fi4r1ku 下拉框_二级行业 -->
                <a-select
                  class="vid_y27fi4r1ku"
                  :getPopupContainer="(node) => node.parentNode"
                  v-model:value="l_7vu2ll5j1s.q_ahawy49ux2"
                  :allowClear="true"
                  :dropdownMatchSelectWidth="true"
                  :showSearch="true"
                  :filterOption="(input, option) => {
        return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0;
      }"
                  :showArrow="true"
                  :placeholder="'请选择二级行业'"
                  :selected="vid_y27fi4r1ku_props.selected"
                  :searchValue="vid_y27fi4r1ku_props.searchValue"
                  :options="vid_y27fi4r1ku_options()"
                  @focus="handle_vid_y27fi4r1ku_focus"
                  @change="handle_vid_y27fi4r1ku_change"
                  @search="handle_vid_y27fi4r1ku_search"
                >
                </a-select>
                <!-- end vid_y27fi4r1ku 下拉框_二级行业 -->
                <template #label>
                  <!-- begin vid_h3a7s143em 所属二级行业 -->
                  <span class="vid_h3a7s143em"> 所属二级行业 </span>
                  <!-- end vid_h3a7s143em 所属二级行业 -->
                </template>
              </a-form-item>
              <!-- end vid_rxm6g1n2ww 表单项容器_if1q4g000t -->
            </a-col>
            <a-col :span="5">
              <!-- begin vid_pv9p84e7ck 表单项容器_hxb6hpaqnk -->
              <a-form-item name="x_bqacwd15ni" :rules="l_7vu2ll5j1s_rules[`x_bqacwd15ni`]" class="vid_pv9p84e7ck" :label-col='{"span":8}' :wrapper-col='{"span":16}'>
                <!-- begin vid_i745jj1m50 下拉框_跟进状态 -->
                <a-select
                  class="vid_i745jj1m50"
                  :getPopupContainer="(node) => node.parentNode"
                  v-model:value="l_7vu2ll5j1s.x_bqacwd15ni"
                  :allowClear="true"
                  :dropdownMatchSelectWidth="true"
                  :showSearch="true"
                  :filterOption="(input, option) => {
        return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0;
      }"
                  :showArrow="true"
                  :placeholder="'请选择跟进状态'"
                  :selected="vid_i745jj1m50_props.selected"
                  :searchValue="vid_i745jj1m50_props.searchValue"
                  :options="vid_i745jj1m50_options()"
                  @change="handle_vid_i745jj1m50_change"
                  @search="handle_vid_i745jj1m50_search"
                >
                </a-select>
                <!-- end vid_i745jj1m50 下拉框_跟进状态 -->
                <template #label>
                  <!-- begin vid_kbgafro46c 跟进状态 -->
                  <span class="vid_kbgafro46c"> 跟进状态 </span>
                  <!-- end vid_kbgafro46c 跟进状态 -->
                </template>
              </a-form-item>
              <!-- end vid_pv9p84e7ck 表单项容器_hxb6hpaqnk -->
            </a-col>
            <a-col :span="5">
              <!-- begin vid_3ksbr89ny1 表单项容器_kin7u45m46 -->
              <a-form-item name="l_vhmwtap649" :rules="l_7vu2ll5j1s_rules[`l_vhmwtap649`]" class="vid_3ksbr89ny1" :label-col='{"span":8}' :wrapper-col='{"span":16}'>
                <!-- begin vid_812st7isvs 输入框_客户名称 -->
                <a-input class="vid_812st7isvs" v-model:value="l_7vu2ll5j1s.l_vhmwtap649" :placeholder="'请输入客户名称'" :allowClear="true"> </a-input>
                <!-- end vid_812st7isvs 输入框_客户名称 -->
                <template #label>
                  <!-- begin vid_n0zlrv1ihi 客户名称 -->
                  <span class="vid_n0zlrv1ihi"> 客户名称 </span>
                  <!-- end vid_n0zlrv1ihi 客户名称 -->
                </template>
              </a-form-item>
              <!-- end vid_3ksbr89ny1 表单项容器_kin7u45m46 -->
            </a-col>
            <a-col :span="4">
              <!-- begin vid_rzg1hbgb75 按钮_7vrso6h1ku -->
              <a-button class="vid_rzg1hbgb75" :type="'primary'" @click="handle_vid_rzg1hbgb75_click"> 查询 </a-button>
              <!-- end vid_rzg1hbgb75 按钮_7vrso6h1ku -->
              <!-- begin vid_hgokogfx2s 按钮_mtc65orrmn -->
              <a-button class="vid_hgokogfx2s" @click="handle_vid_hgokogfx2s_click"> 重置 </a-button>
              <!-- end vid_hgokogfx2s 按钮_mtc65orrmn -->
            </a-col>
          </a-row>
        </div>
        <!-- end vid_ebc8zcplds 布局容器_wtki3n8cdw -->
      </a-form>
      <!-- end vid_fzonycox3q 表单容器_c6m7frlals -->
      <!-- begin vid_ghzkvi0dad 容器_371ddc7xug -->
      <al-box class="vid_ghzkvi0dad"> </al-box>
      <!-- end vid_ghzkvi0dad 容器_371ddc7xug -->
      <!-- begin vid_ipfjclkse5 容器_xut0s3sxaz -->
      <al-box class="vid_ipfjclkse5">
        <!-- begin vid_arq3rawopq 容器_mpnf0b40nn -->
        <al-box class="vid_arq3rawopq">
          <!-- begin vid_94pfuy1hr1 布局容器_5qb0kpcziy -->
          <div :style="{width: '100%'}">
            <a-row class="vid_94pfuy1hr1">
              <a-col :span="8">
                <!-- begin vid_ereqk9dmlh 客户列表 -->
                <span class="vid_ereqk9dmlh"> 客户列表 </span>
                <!-- end vid_ereqk9dmlh 客户列表 -->
              </a-col>
              <a-col :span="8"> </a-col>
              <a-col :span="8">
                <!-- begin vid_id3n9yeb6s 容器_5xgrzuys7q -->
                <al-box class="vid_id3n9yeb6s"> </al-box>
                <!-- end vid_id3n9yeb6s 容器_5xgrzuys7q -->
              </a-col>
            </a-row>
          </div>
          <!-- end vid_94pfuy1hr1 布局容器_5qb0kpcziy -->
        </al-box>
        <!-- end vid_arq3rawopq 容器_mpnf0b40nn -->
        <!-- begin vid_6eg0znmi6j case_02a0idel3x -->
        <div class="vid_6eg0znmi6j" :caseValue="vid_6eg0znmi6j_props.caseValue">
          <template v-if="checkCaseCondition(dataConnector_conn_wbkxi14vlr_response?.data.totalElements, 'GT', 0)">
            <!-- begin vid_kubyotw73r For循环_lmxpcas79o -->
            <al-cycle
              v-if="vid_kubyotw73r_props.dataSource?.length"
              class="vid_kubyotw73r"
              v-model:dataSource="vid_kubyotw73r_props.dataSource"
              v-model:current="vid_kubyotw73r_props.current"
              v-model:currentIndex="vid_kubyotw73r_props.currentIndex"
            >
              <template #default="vid_kubyotw73r_dataItem">
                <!-- begin vid_vymqw2fenk 容器_irtgq9kaic -->
                <al-box :data-cycle-index="vid_kubyotw73r_dataItem.cycleIndex" class="vid_vymqw2fenk">
                  <!-- begin vid_0ui7ey5w9s 布局容器_xx04ass517 -->
                  <div :style="{width: '100%'}">
                    <a-row :data-cycle-index="vid_kubyotw73r_dataItem.cycleIndex" class="vid_0ui7ey5w9s" :slots="'10:14'">
                      <a-col :span="10">
                        <!-- begin vid_s82gk4w68w 客户名称 -->
                        <span :data-cycle-index="vid_kubyotw73r_dataItem.cycleIndex" class="vid_s82gk4w68w">
                          {{ renderStringInTemplate(vid_kubyotw73r_dataItem.dataItem.customerName) }}
                        </span>
                        <!-- end vid_s82gk4w68w 客户名称 -->
                        <!-- begin vid_iwq77d82pi 简单文本_1glg249ext -->
                        <span :data-cycle-index="vid_kubyotw73r_dataItem.cycleIndex" class="vid_iwq77d82pi"> 添加时间： </span>
                        <!-- end vid_iwq77d82pi 简单文本_1glg249ext -->
                        <!-- begin vid_i3g9fjdepl 2023年8月5日 -->
                        <span :data-cycle-index="vid_kubyotw73r_dataItem.cycleIndex" class="vid_i3g9fjdepl">
                          {{ renderStringInTemplate(vid_kubyotw73r_dataItem.dataItem.createdTime) }}
                        </span>
                        <!-- end vid_i3g9fjdepl 2023年8月5日 -->
                      </a-col>
                      <a-col :span="14">
                        <!-- begin vid_shktqpf8jo 容器_wnwy3ttuo2 -->
                        <al-box :data-cycle-index="vid_kubyotw73r_dataItem.cycleIndex" class="vid_shktqpf8jo">
                          <!-- begin vid_z675o5mui5 按钮_bm2krl9kqu -->
                          <a-button :data-cycle-index="vid_kubyotw73r_dataItem.cycleIndex" class="vid_z675o5mui5" :size="'small'" @click="handle_vid_z675o5mui5_click">
                            <template #icon><plus-outlined /></template>

                            编辑
                          </a-button>
                          <!-- end vid_z675o5mui5 按钮_bm2krl9kqu -->
                          <!-- begin vid_g6pyc00nnn 按钮_t7f0mqogwn -->
                          <a-button :data-cycle-index="vid_kubyotw73r_dataItem.cycleIndex" class="vid_g6pyc00nnn" :size="'small'" @click="handle_vid_g6pyc00nnn_click">
                            <template #icon><snippets-outlined /></template>

                            工作计划
                          </a-button>
                          <!-- end vid_g6pyc00nnn 按钮_t7f0mqogwn -->
                        </al-box>
                        <!-- end vid_shktqpf8jo 容器_wnwy3ttuo2 -->
                      </a-col>
                    </a-row>
                  </div>
                  <!-- end vid_0ui7ey5w9s 布局容器_xx04ass517 -->
                  <!-- begin vid_50n0yjil6h 容器_j8ku1kva3h -->
                  <al-box :data-cycle-index="vid_kubyotw73r_dataItem.cycleIndex" class="vid_50n0yjil6h">
                    <!-- begin vid_876uh449m2 表格_7qmtonibyg -->
                    <!-- 表格_7qmtonibyg -->
                    <a-table
                      :data-cycle-index="vid_kubyotw73r_dataItem.cycleIndex"
                      class="vid_876uh449m2"
                      :bordered="true"
                      :sorter="vid_876uh449m2_props.sorter"
                      :editRowSaveLoading="vid_876uh449m2_props.editRowSaveLoading"
                      :currentRow="vid_876uh449m2_props.currentRow"
                      :selectedRowList="vid_876uh449m2_props.selectedRowList"
                      :data-source="vid_kubyotw73r_dataItem.dataItem.customerManagementTableDtoList"
                      @change="handle_vid_876uh449m2_change"
                      :columns="vid_876uh449m2_columns"
                      :pagination="false"
                      row-key="id"
                      @resizeColumn="(w, col) => handleResizeColumn(w, col, 'vid_876uh449m2')"
                      :scroll="{ x: 'max-content', scrollToFirstRowOnChange: true, }"
                      :row-class-name="(_record, index) => (index % 2 === 1 ? 'table-striped-even' : 'table-striped-odd')"
                    >
                      <template #headerCell="{ title, column }">
                        <span :style="textTruncate(column.width)">
                          {{ title }}
                          <template v-if="column.headerComment">
                            <img
                              v-if="
            column.headerCommentConfig.iconType === 'CUSTOM' ||
            (column.headerCommentConfig.icon &&
              column.headerCommentConfig.icon.indexOf('base64') !== -1)
          "
                              :src="column.headerCommentConfig.icon"
                              style="width: 14px;"
                              alt="icon"
                              :title="column.headerCommentConfig.comment"
                            />
                            <component v-else :is="column.headerCommentConfig.icon" :title="column.headerCommentConfig.comment" />
                          </template>
                        </span>
                      </template>
                      <template #bodyCell="{ text, column, record, index }">
                        <!-- 序号列 -->
                        <template v-if="column && column.dataIndex === 'vid_876uh449m2_serialNumber'">
                          {{ index + 1 }}
                        </template>
                        <!-- {"type":"value","dataType":"STRING","link":"","value":"所属一级行业"} 列内容 -->
                        <template v-if="column.dataIndex === 'primaryIndustry' && !column.customRender">
                          <text-table-cell
                            :rowData="record"
                            :conditionValueMap="vid_876uh449m2_props.boundaryValueMap"
                            :dataSource="vid_876uh449m2_props.contentDataSource[column.dataIndex]"
                            :columnsConfig="column"
                            :value="text"
                          />
                        </template>
                        <!-- {"type":"value","dataType":"STRING","link":"","value":"所属二级行业"} 列内容 -->
                        <template v-if="column.dataIndex === 'secondaryIndustry' && !column.customRender">
                          <text-table-cell
                            :rowData="record"
                            :conditionValueMap="vid_876uh449m2_props.boundaryValueMap"
                            :dataSource="vid_876uh449m2_props.contentDataSource[column.dataIndex]"
                            :columnsConfig="column"
                            :value="text"
                          />
                        </template>
                        <!-- {"type":"value","dataType":"STRING","link":"","value":"对接人"} 列内容 -->
                        <template v-if="column.dataIndex === 'contactPerson' && !column.customRender">
                          <text-table-cell
                            :rowData="record"
                            :conditionValueMap="vid_876uh449m2_props.boundaryValueMap"
                            :dataSource="vid_876uh449m2_props.contentDataSource[column.dataIndex]"
                            :columnsConfig="column"
                            :value="text"
                          />
                        </template>
                        <!-- {"type":"value","dataType":"STRING","link":"","value":"所在部门"} 列内容 -->
                        <template v-if="column.dataIndex === 'department' && !column.customRender">
                          <text-table-cell
                            :rowData="record"
                            :conditionValueMap="vid_876uh449m2_props.boundaryValueMap"
                            :dataSource="vid_876uh449m2_props.contentDataSource[column.dataIndex]"
                            :columnsConfig="column"
                            :value="text"
                          />
                        </template>
                        <!-- {"type":"value","dataType":"STRING","link":"","value":"职务"} 列内容 -->
                        <template v-if="column.dataIndex === 'position' && !column.customRender">
                          <text-table-cell
                            :rowData="record"
                            :conditionValueMap="vid_876uh449m2_props.boundaryValueMap"
                            :dataSource="vid_876uh449m2_props.contentDataSource[column.dataIndex]"
                            :columnsConfig="column"
                            :value="text"
                          />
                        </template>
                        <!-- {"type":"value","dataType":"STRING","link":"","value":"手机号码"} 列内容 -->
                        <template v-if="column.dataIndex === 'mobilePhone' && !column.customRender">
                          <text-table-cell
                            :rowData="record"
                            :conditionValueMap="vid_876uh449m2_props.boundaryValueMap"
                            :dataSource="vid_876uh449m2_props.contentDataSource[column.dataIndex]"
                            :columnsConfig="column"
                            :value="text"
                          />
                        </template>
                        <!-- {"type":"value","dataType":"STRING","link":"","value":"固定号码"} 列内容 -->
                        <template v-if="column.dataIndex === 'landlinePhone' && !column.customRender">
                          <text-table-cell
                            :rowData="record"
                            :conditionValueMap="vid_876uh449m2_props.boundaryValueMap"
                            :dataSource="vid_876uh449m2_props.contentDataSource[column.dataIndex]"
                            :columnsConfig="column"
                            :value="text"
                          />
                        </template>
                        <!-- {"type":"value","dataType":"STRING","link":"","value":"微信号"} 列内容 -->
                        <template v-if="column.dataIndex === 'wechatNumber' && !column.customRender">
                          <text-table-cell
                            :rowData="record"
                            :conditionValueMap="vid_876uh449m2_props.boundaryValueMap"
                            :dataSource="vid_876uh449m2_props.contentDataSource[column.dataIndex]"
                            :columnsConfig="column"
                            :value="text"
                          />
                        </template>
                        <!-- {"type":"value","dataType":"STRING","link":"","value":"所属生态伙伴"} 列内容 -->
                        <template v-if="column.dataIndex === 'ecologicalPartnerManagementName' && !column.customRender">
                          <text-table-cell
                            :rowData="record"
                            :conditionValueMap="vid_876uh449m2_props.boundaryValueMap"
                            :dataSource="vid_876uh449m2_props.contentDataSource[column.dataIndex]"
                            :columnsConfig="column"
                            :value="text"
                          />
                        </template>
                        <!-- {"type":"value","dataType":"STRING","link":"","value":"项目数量"} 列内容 -->
                        <template v-if="column.dataIndex === 'projectCount' && !column.customRender">
                          <text-table-cell
                            :rowData="record"
                            :conditionValueMap="vid_876uh449m2_props.boundaryValueMap"
                            :dataSource="vid_876uh449m2_props.contentDataSource[column.dataIndex]"
                            :columnsConfig="column"
                            :value="text"
                          />
                        </template>
                        <!-- {"type":"value","dataType":"STRING","link":"","value":"商机总预算"} 列内容 -->
                        <template v-if="column.dataIndex === 'businessBudget' && !column.customRender">
                          <text-table-cell
                            :rowData="record"
                            :conditionValueMap="vid_876uh449m2_props.boundaryValueMap"
                            :dataSource="vid_876uh449m2_props.contentDataSource[column.dataIndex]"
                            :columnsConfig="column"
                            :value="text"
                          />
                        </template>
                        <!-- {"type":"value","dataType":"STRING","link":"","value":"合同总金额"} 列内容 -->
                        <template v-if="column.dataIndex === 'contractTotalAmount' && !column.customRender">
                          <text-table-cell
                            :rowData="record"
                            :conditionValueMap="vid_876uh449m2_props.boundaryValueMap"
                            :dataSource="vid_876uh449m2_props.contentDataSource[column.dataIndex]"
                            :columnsConfig="column"
                            :value="text"
                          />
                        </template>
                        <!-- {"type":"value","dataType":"STRING","link":"","value":"跟进状态"} 列内容 -->
                        <template v-if="column.dataIndex === 'followUpStatus' && !column.customRender">
                          <text-table-cell
                            :rowData="record"
                            :conditionValueMap="vid_876uh449m2_props.boundaryValueMap"
                            :dataSource="vid_876uh449m2_props.contentDataSource[column.dataIndex]"
                            :columnsConfig="column"
                            :value="text"
                          />
                        </template>
                      </template>
                    </a-table>
                    <!-- end vid_876uh449m2 表格_7qmtonibyg -->
                  </al-box>
                  <!-- end vid_50n0yjil6h 容器_j8ku1kva3h -->
                  <!-- begin vid_mjgl1tb4om 布局容器_zpw7nord5x -->
                  <div :style="{width: '100%'}">
                    <a-row :data-cycle-index="vid_kubyotw73r_dataItem.cycleIndex" class="vid_mjgl1tb4om" :slots="'24'">
                      <a-col :span="24">
                        <!-- begin vid_gwgjwm27e3 按钮_smmptk6zad -->
                        <a-button :data-cycle-index="vid_kubyotw73r_dataItem.cycleIndex" class="vid_gwgjwm27e3" :size="'small'">
                          <template #icon><carry-out-outlined /></template>

                          最新进展
                        </a-button>
                        <!-- end vid_gwgjwm27e3 按钮_smmptk6zad -->
                        <!-- begin vid_tix0f0rp3x 简单文本_5591qpanji -->
                        <span :data-cycle-index="vid_kubyotw73r_dataItem.cycleIndex" class="vid_tix0f0rp3x">
                          {{ renderStringInTemplate(vid_kubyotw73r_dataItem.dataItem.latestDevelopments) }}
                        </span>
                        <!-- end vid_tix0f0rp3x 简单文本_5591qpanji -->
                      </a-col>
                    </a-row>
                  </div>
                  <!-- end vid_mjgl1tb4om 布局容器_zpw7nord5x -->
                  <!-- begin vid_gd4xhad0l9 布局容器_bvd55sm715 -->
                  <div :style="{width: '100%'}">
                    <a-row :data-cycle-index="vid_kubyotw73r_dataItem.cycleIndex" class="vid_gd4xhad0l9" :slots="'24'">
                      <a-col :span="24">
                        <!-- begin vid_vu4uhb8cma 按钮_18lu7cdguh -->
                        <a-button :data-cycle-index="vid_kubyotw73r_dataItem.cycleIndex" class="vid_vu4uhb8cma" :size="'small'">
                          <template #icon><schedule-outlined /></template>

                          下一步计划
                        </a-button>
                        <!-- end vid_vu4uhb8cma 按钮_18lu7cdguh -->
                        <!-- begin vid_or3ux5qckp 简单文本_sfzbhcz4wk -->
                        <span :data-cycle-index="vid_kubyotw73r_dataItem.cycleIndex" class="vid_or3ux5qckp">
                          {{ renderStringInTemplate(vid_kubyotw73r_dataItem.dataItem.nextPlan) }}
                        </span>
                        <!-- end vid_or3ux5qckp 简单文本_sfzbhcz4wk -->
                      </a-col>
                    </a-row>
                  </div>
                  <!-- end vid_gd4xhad0l9 布局容器_bvd55sm715 -->
                </al-box>
                <!-- end vid_vymqw2fenk 容器_irtgq9kaic -->
              </template>
            </al-cycle>
            <!-- end vid_kubyotw73r For循环_lmxpcas79o -->
          </template>
          <template v-else-if="checkCaseCondition(dataConnector_conn_wbkxi14vlr_response?.data.totalElements, 'EQUALS', 0)">
            <!-- begin vid_ndzaa37elp 容器_esxt7sr4mh -->
            <al-box class="vid_ndzaa37elp">
              <!-- begin vid_hav5y4xui3 图片_j5nk9zolk3 -->
              <al-image
                class="vid_hav5y4xui3"
                :emptyImgSrc="''"
                :src="vid_hav5y4xui3_props.src"
                :width="'200'"
                :height="'145'"
              />
              <!-- end vid_hav5y4xui3 图片_j5nk9zolk3 -->
            </al-box>
            <!-- end vid_ndzaa37elp 容器_esxt7sr4mh -->
          </template>
          <template v-else> </template>
        </div>
        <!-- end vid_6eg0znmi6j case_02a0idel3x -->
      </al-box>
      <!-- end vid_ipfjclkse5 容器_xut0s3sxaz -->
    </a-spin>
  </div>
</template>
<script setup>
  import {
  h, ref, reactive, toRaw, markRaw, watch, computed,
  onBeforeMount, onMounted, onBeforeUnmount, onUnmounted, onActivated, onDeactivated
} from "vue";
import { useRoute, useRouter } from 'vue-router';
const router = useRouter();
const route = useRoute();
import { get, post, put, del, request, requestWithHeaders } from '@/utils/http/Axios';
import { cloneDeep, isNullOrEmpty, isEmptyArr, isNullOrUnDef, localGet, isContained, isArray, isEmpty, 
  merge, getDifferenceArray, isObject, traversalTreeStructure, checkCaseCondition, renderStringInTemplate, handleBreadcrumbJump, throttle } from '@/utils/index';
import dayjs from 'dayjs';
import { getPagePcChartsDataSourceConvert } from '@/utils/chart';
import { message, notification, Modal } from 'ant-design-vue'
import { propertyFormatByNumber, propertyFormatByPercentage, propertyFormatByDate } from '@/utils/format';
/*** PUBLISH_EXEGESIS ***
import UserTableRecords from '@/model/UserTableRecords';
*** PUBLISH_EXEGESIS ***/

import TextTableCell from '@/components/page/tableCell/text.vue';
import NumberTableCell from '@/components/page/tableCell/number.vue';
import ProgressTableCell from '@/components/page/tableCell/progress.vue';
import OptionsTableCell from '@/components/page/tableCell/options.vue';
import DatePickerTableCell from '@/components/page/tableCell/datePicker.vue';
import RangePickerTableCell from '@/components/page/tableCell/rangePicker.vue';
import RangeNumberTableCell from '@/components/page/tableCell/rangeNumber.vue';
import BoolTableCell from '@/components/page/tableCell/bool.vue';

  // 获取传入的流程ID
  const props = defineProps({
    processInstanceId: {
        type: String
    }
  })
  const immediateWatch = (source, callback) => {
    watch(source, callback, {deep: true,immediate: true })
  }
  


  /* -------------------------- 属性定义 -------------------------- */

  const setTimeOutList = [];
  const pageLoading = reactive({
    loading: false,
    tip: undefined
  });

const vid_la5kq6chtz_props = reactive({
      show: false,
  type: "success",
  content: "已提交审批",
  duration: 3,
})

const vid_di3vjr4k4d_props = reactive({
      show: false,
  type: "error",
  content: undefined,
  duration: 3,
})

const vid_433d6uohon_props = reactive({
      visible: false,
})

const vid_ypmph53588_props = reactive({
      formModel: {"a_hfmd2rmq7z":"","s_9y95ptl9yc":"","k_f3hp75oteq":"","u_elwgqo7915":"","y_twnk51x69i":"","x_h3wg9og2br":"","n_cl8z267f01":"","o_fcpnika2ng":"","d_dqpm22o4ci":"","v_m8y2s2n9um":"","x_h2nmg2f3jt":""},
})

const vid_so2th967iu_props = reactive({
      value: undefined,
})

const vid_v9ldla8m3l_props = reactive({
      selected: {"option":{},"value":"","label":""},
  searchValue: undefined,
  value: undefined,
})

const vid_hsbzavvkfj_props = reactive({
      selected: {"option":{},"value":"","label":""},
  searchValue: undefined,
  value: undefined,
})

const vid_wsdyccec1l_props = reactive({
      value: undefined,
})

const vid_lftkjw5gba_props = reactive({
      value: undefined,
})

const vid_20mr05elq8_props = reactive({
      value: undefined,
})

const vid_7h5k6oymbx_props = reactive({
      value: undefined,
})

const vid_evn9licvfn_props = reactive({
      value: undefined,
})

const vid_fzzgb3eguw_props = reactive({
      value: undefined,
})

const vid_gai24ozvss_props = reactive({
      selected: {"option":{},"value":"","label":""},
  searchValue: undefined,
  value: undefined,
})

const vid_a7hvylqa3o_props = reactive({
      selected: {"option":{},"value":"","label":""},
  searchValue: undefined,
  value: undefined,
})

const vid_fzonycox3q_props = reactive({
      formModel: {"l_vhmwtap649":"","x_bqacwd15ni":"","q_ahawy49ux2":"","z_73ucc2mop4":""},
})

const vid_812st7isvs_props = reactive({
      value: "",
})

const vid_i745jj1m50_props = reactive({
      selected: {"option":{},"value":"","label":""},
  searchValue: undefined,
  value: undefined,
})

const vid_y27fi4r1ku_props = reactive({
      selected: {"option":{},"value":"","label":""},
  searchValue: undefined,
  value: undefined,
})

const vid_m6dghrd7wr_props = reactive({
      selected: {"option":{},"value":"","label":""},
  searchValue: undefined,
  value: undefined,
})

const vid_6eg0znmi6j_props = reactive({
      caseValue: undefined,
})

const vid_kubyotw73r_props = reactive({
      dataSource: [{"businessBudget":-1,"submitter":"","projectCount":-1,"primaryIndustry":"","secondaryIndustry":"","latestDevelopments":"","contactPerson":"","ecologicalPartnerManagementName":"","landlinePhone":"","wechatNumber":"","followUpStatus":"","customerName":"","submissionTime":"","customerManagementTableDtoList":[{"businessBudget":-1,"projectCount":-1,"primaryIndustry":"","secondaryIndustry":"","contactPerson":"","ecologicalPartnerManagementName":"","landlinePhone":"","wechatNumber":"","followUpStatus":"","contractTotalAmount":-1,"mobilePhone":"","ecologicalPartnerManagementId":-1,"position":"","department":""}],"contractTotalAmount":-1,"mobilePhone":"","nextPlan":"","createdTime":"","ecologicalPartnerManagementId":-1,"id":-1,"position":"","department":""}],
  current: {"businessBudget":-1,"submitter":"","projectCount":-1,"primaryIndustry":"","secondaryIndustry":"","latestDevelopments":"","contactPerson":"","ecologicalPartnerManagementName":"","landlinePhone":"","wechatNumber":"","followUpStatus":"","customerName":"","submissionTime":"","customerManagementTableDtoList":[{"businessBudget":-1,"projectCount":-1,"primaryIndustry":"","secondaryIndustry":"","contactPerson":"","ecologicalPartnerManagementName":"","landlinePhone":"","wechatNumber":"","followUpStatus":"","contractTotalAmount":-1,"mobilePhone":"","ecologicalPartnerManagementId":-1,"position":"","department":""}],"contractTotalAmount":-1,"mobilePhone":"","nextPlan":"","createdTime":"","ecologicalPartnerManagementId":-1,"id":-1,"position":"","department":""},
  currentIndex: -1,
})

const vid_s82gk4w68w_props = reactive({
      rt_text: undefined,
})

const vid_i3g9fjdepl_props = reactive({
      rt_text: undefined,
})

const vid_876uh449m2_props = reactive({
      systemSort: [],
  sorter: {},
  editRowSaveLoading: {},
  currentRow: {"primaryIndustry":"","secondaryIndustry":"","contactPerson":"","department":"","position":"","mobilePhone":"","landlinePhone":"","wechatNumber":"","ecologicalPartnerManagementName":"","projectCount":"","businessBudget":"","contractTotalAmount":"","followUpStatus":""},
  selectedRowList: {"id":[],"name":[],"custom2":[],"custom3":[],"custom4":[],"custom5":[],"custom6":[],"custom7":[],"custom8":[],"custom9":[],"custom10":[],"custom11":[],"custom12":[],"custom13":[],"custom14":[],"custom15":[],"custom16":[],"primaryIndustry":[],"secondaryIndustry":[],"contactPerson":[],"department":[],"position":[],"mobilePhone":[],"landlinePhone":[],"wechatNumber":[],"ecologicalPartnerManagementName":[],"projectCount":[],"businessBudget":[],"contractTotalAmount":[],"followUpStatus":[]},
  totalNumber: "",
  rt_tableConfig: {"basic":{"title":"","rowKey":"id","rowSelection":false,"showSequenceNumber":false,"rowEdit":{"editText":"编辑","saveText":"保存","cancelText":"取消"}},"style":{"headerStyle":{"lintHeight":40,"borderWidth":1,"borderColor":"#EBEBEB","backgroundColor":"#F5F5F5","enableTextStyle":true,"fontFamily":"arial, helvetica, \"microsoft yahei\";","fontSize":14,"textWeight":"400","textColor":"#595959"},"contentStyle":{"lintHeight":40,"borderWidth":1,"borderColor":"#EBEBEB","oddLineBackColor":"#FFFFFF","evenLineBackColor":"#FAFAFA","enableContentStyle":true,"fontFamily":"arial, helvetica, \"microsoft yahei\";","fontSize":14,"textWeight":"600","textColor":"#262626"},"paginationStyle":{"size":"default","layout":"bottomRight"}},"layout":{"operationColumnFixed":"default","showHeader":true,"sticky":false},"scroll":{"x":"max-content","y":"","scrollToFirstRowOnChange":true},"pagination":{"enable":false,"sync":false,"current":1,"pageSize":10,"showSizeChanger":false,"pageSizeOptions":"10,20,30,40","showTotal":false,"showQuickJumper":false,"simple":false,"hideOnSinglePage":false}},
  columnList: [
      {
        dataIndex: 'primaryIndustry',
        headerComment: false,
        title: '所属一级行业',
        groupTitle: '',
        ellipsis: true,
        contentAlign: 'left',
        customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
        rowEdit: false,
        rowEditConditions: [],
        contentType: 'TEXT',
        contentConfig: {"format":null,"defaultStyle":null,"conditionStyle":[],"dataSourceConfig":null,"boolConfig":"collection"},
        // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
        customCellStyle: { padding: 0 },
        width: '100px',
        resizable: true,
      },
      {
        dataIndex: 'secondaryIndustry',
        headerComment: false,
        title: '所属二级行业',
        groupTitle: '',
        ellipsis: true,
        contentAlign: 'left',
        customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
        rowEdit: false,
        rowEditConditions: [],
        contentType: 'TEXT',
        contentConfig: {"format":null,"defaultStyle":null,"conditionStyle":[],"dataSourceConfig":null,"boolConfig":"collection"},
        // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
        customCellStyle: { padding: 0 },
        width: '100px',
        resizable: true,
      },
      {
        dataIndex: 'contactPerson',
        headerComment: false,
        title: '对接人',
        groupTitle: '',
        ellipsis: true,
        contentAlign: 'left',
        customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
        rowEdit: false,
        rowEditConditions: [],
        contentType: 'TEXT',
        contentConfig: {"format":null,"defaultStyle":null,"conditionStyle":[],"dataSourceConfig":null,"boolConfig":"collection"},
        // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
        customCellStyle: { padding: 0 },
        width: '100px',
        resizable: true,
      },
      {
        dataIndex: 'department',
        headerComment: false,
        title: '所在部门',
        groupTitle: '',
        ellipsis: true,
        contentAlign: 'left',
        customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
        rowEdit: false,
        rowEditConditions: [],
        contentType: 'TEXT',
        contentConfig: {"format":null,"defaultStyle":null,"conditionStyle":[],"dataSourceConfig":null,"boolConfig":"collection"},
        // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
        customCellStyle: { padding: 0 },
        width: '100px',
        resizable: true,
      },
      {
        dataIndex: 'position',
        headerComment: false,
        title: '职务',
        groupTitle: '',
        ellipsis: true,
        contentAlign: 'left',
        customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
        rowEdit: false,
        rowEditConditions: [],
        contentType: 'TEXT',
        contentConfig: {"format":null,"defaultStyle":null,"conditionStyle":[],"dataSourceConfig":null,"boolConfig":"collection"},
        // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
        customCellStyle: { padding: 0 },
        width: '100px',
        resizable: true,
      },
      {
        dataIndex: 'mobilePhone',
        headerComment: false,
        title: '手机号码',
        groupTitle: '',
        ellipsis: true,
        contentAlign: 'left',
        customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
        rowEdit: false,
        rowEditConditions: [],
        contentType: 'TEXT',
        contentConfig: {"format":null,"defaultStyle":null,"conditionStyle":[],"dataSourceConfig":null,"boolConfig":"collection"},
        // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
        customCellStyle: { padding: 0 },
        width: '100px',
        resizable: true,
      },
      {
        dataIndex: 'landlinePhone',
        headerComment: false,
        title: '固定号码',
        groupTitle: '',
        ellipsis: true,
        contentAlign: 'left',
        customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
        rowEdit: false,
        rowEditConditions: [],
        contentType: 'TEXT',
        contentConfig: {"format":null,"defaultStyle":null,"conditionStyle":[],"dataSourceConfig":null,"boolConfig":"collection"},
        // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
        customCellStyle: { padding: 0 },
        width: '100px',
        resizable: true,
      },
      {
        dataIndex: 'wechatNumber',
        headerComment: false,
        title: '微信号',
        groupTitle: '',
        ellipsis: true,
        contentAlign: 'left',
        customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
        rowEdit: false,
        rowEditConditions: [],
        contentType: 'TEXT',
        contentConfig: {"format":null,"defaultStyle":null,"conditionStyle":[],"dataSourceConfig":null,"boolConfig":"collection"},
        // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
        customCellStyle: { padding: 0 },
        width: '100px',
        resizable: true,
      },
      {
        dataIndex: 'ecologicalPartnerManagementName',
        headerComment: false,
        title: '所属生态伙伴',
        groupTitle: '',
        ellipsis: true,
        contentAlign: 'left',
        customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
        rowEdit: false,
        rowEditConditions: [],
        contentType: 'TEXT',
        contentConfig: {"format":null,"defaultStyle":null,"conditionStyle":[],"dataSourceConfig":null,"boolConfig":"collection"},
        // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
        customCellStyle: { padding: 0 },
        width: '100px',
        resizable: true,
      },
      {
        dataIndex: 'projectCount',
        headerComment: false,
        title: '项目数量',
        groupTitle: '',
        ellipsis: true,
        contentAlign: 'left',
        customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
        rowEdit: false,
        rowEditConditions: [],
        contentType: 'TEXT',
        contentConfig: {"format":null,"defaultStyle":null,"conditionStyle":[],"dataSourceConfig":null,"boolConfig":"collection"},
        // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
        customCellStyle: { padding: 0 },
        width: '100px',
        resizable: true,
      },
      {
        dataIndex: 'businessBudget',
        headerComment: false,
        title: '商机总预算',
        groupTitle: '',
        ellipsis: true,
        contentAlign: 'left',
        customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
        rowEdit: false,
        rowEditConditions: [],
        contentType: 'TEXT',
        contentConfig: {"format":null,"defaultStyle":null,"conditionStyle":[],"dataSourceConfig":null,"boolConfig":"collection"},
        // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
        customCellStyle: { padding: 0 },
        width: '100px',
        resizable: true,
      },
      {
        dataIndex: 'contractTotalAmount',
        headerComment: false,
        title: '合同总金额',
        groupTitle: '',
        ellipsis: true,
        contentAlign: 'left',
        customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
        rowEdit: false,
        rowEditConditions: [],
        contentType: 'TEXT',
        contentConfig: {"format":null,"defaultStyle":null,"conditionStyle":[],"dataSourceConfig":null,"boolConfig":"collection"},
        // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
        customCellStyle: { padding: 0 },
        width: '100px',
        resizable: true,
      },
      {
        dataIndex: 'followUpStatus',
        headerComment: false,
        title: '跟进状态',
        groupTitle: '',
        ellipsis: true,
        contentAlign: 'left',
        customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
        rowEdit: false,
        rowEditConditions: [],
        contentType: 'TEXT',
        contentConfig: {"format":null,"defaultStyle":null,"conditionStyle":[],"dataSourceConfig":null,"boolConfig":"collection"},
        // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
        customCellStyle: { padding: 0 },
        width: '100px',
        resizable: true,
      },

    ],
  // 进行行合并所需的排序规则，必须将其加到排序字段的前面，以实现合并单元格
  rowMergeSort: [],
  // 完整的排序规则：需要将行合并的排序规则和排序字段的排序规则赋给该属性；调接口时会使用其作为排序条件
  systemSort: [],
  // 条件格式需要的边界值映射：key为边界值id，value为边界值数据
  boundaryValueMap: {},
  // 表格单元格内容渲染需要的外部数据源：key为列，value为该列单元格的外部数据源配置
  contentDataSource: {},
})

const vid_tix0f0rp3x_props = reactive({
      rt_text: undefined,
})

const vid_or3ux5qckp_props = reactive({
      rt_text: undefined,
})
const vid_hav5y4xui3_imageUrl = 'https://fastdfs-stage.allintechinc.com:8888/group1/M00/02/81/rBUAHWTW43CAVt3tAACwj4ezpYk905.png'

const vid_hav5y4xui3_props = reactive({
      src: vid_hav5y4xui3_imageUrl,
})
// ---------------------------- 定义模型数据 ----------------------------

const f_8ci2bwlqme = reactive({})
  

const l_7vu2ll5j1s = reactive({"l_vhmwtap649":""})
  
// ============================ 定义模型数据 ============================
    





const f_8ci2bwlqme_rules = reactive({
      a_hfmd2rmq7z: [
      { required: true, message: '请输入客户名称!', trigger: 'blur' },
  ],
  s_9y95ptl9yc: [
      { required: true, message: '请选择一级行业!', trigger: 'blur' },
  ],
  k_f3hp75oteq: [
      { required: true, message: '请选择二级行业!', trigger: 'blur' },
  ],
  u_elwgqo7915: [
      { required: true, message: '请输入主要对接人!', trigger: 'blur' },
  ],






  x_h2nmg2f3jt: [
      { required: true, message: '请选择跟进状态!', trigger: 'blur' },
  ],
})
    


const l_7vu2ll5j1s_rules = reactive({
  



})
    
       
  // 处理校验
  const setSubFormName =(parentInfo, name)=>{
    return [parentInfo.parents, parentInfo.cycleIndex, name];
  }

  
const vid_v9ldla8m3l_options_raw = ref([])
    
  const vid_v9ldla8m3l_options = computed(() => {
    return (dataSource = vid_v9ldla8m3l_options_raw.value)=>{
      return (dataSource || []).map(item => {
        return {
          ...item,
          value: item.industryId,
      label: item.industryName,
      disabled: !!item.disabled
        }
      })
    }
  })
        

  
const vid_hsbzavvkfj_options_raw = ref([])
    
  const vid_hsbzavvkfj_options = computed(() => {
    return (dataSource = vid_hsbzavvkfj_options_raw.value)=>{
      return (dataSource || []).map(item => {
        return {
          ...item,
          value: item.industryName,
      label: item.industryName,
      disabled: !!item.disabled
        }
      })
    }
  })
        

  
const vid_gai24ozvss_options_raw = ref([])
    
  const vid_gai24ozvss_options = computed(() => {
    return (dataSource = vid_gai24ozvss_options_raw.value)=>{
      return (dataSource || []).map(item => {
        return {
          ...item,
          value: item.id,
      label: item.partnerName,
      disabled: !!item.disabled
        }
      })
    }
  })
        

  
const vid_a7hvylqa3o_options_raw = ref([{"value":"未处理","label":"未处理"},{"value":"已联系","label":"已联系"},{"value":"关闭","label":"关闭"},{"value":"暂停","label":"暂停"}])
    
  const vid_a7hvylqa3o_options = computed(() => {
        return () => vid_a7hvylqa3o_options_raw.value
      })
        

  
const vid_i745jj1m50_options_raw = ref([{"value":"未处理","label":"未处理"},{"value":"已联系","label":"已联系"},{"value":"关闭","label":"关闭"},{"value":"暂停","label":"暂停"}])
    
  const vid_i745jj1m50_options = computed(() => {
        return () => vid_i745jj1m50_options_raw.value
      })
        

  
const vid_y27fi4r1ku_options_raw = ref([])
    
  const vid_y27fi4r1ku_options = computed(() => {
    return (dataSource = vid_y27fi4r1ku_options_raw.value)=>{
      return (dataSource || []).map(item => {
        return {
          ...item,
          value: item.industryId,
      label: item.industryName,
      disabled: !!item.disabled
        }
      })
    }
  })
        

  
const vid_m6dghrd7wr_options_raw = ref([])
    
  const vid_m6dghrd7wr_options = computed(() => {
    return (dataSource = vid_m6dghrd7wr_options_raw.value)=>{
      return (dataSource || []).map(item => {
        return {
          ...item,
          value: item.industryId,
      label: item.industryName,
      disabled: !!item.disabled
        }
      })
    }
  })
        

  
const vid_876uh449m2_options_raw = ref([])
    
  const vid_876uh449m2_options = computed(() => {
    return () => vid_876uh449m2_options_raw.value
  })
        
// 图表组件 下拉框_primaryIndustry 条件格式数据依赖 
const vid_v9ldla8m3l_chartConditionDependencyMap = ref({
})
// 图表组件 下拉框_secondaryIndustry 条件格式数据依赖 
const vid_hsbzavvkfj_chartConditionDependencyMap = ref({
})
// 图表组件 下拉框_ecologicalPartnerManagementId 条件格式数据依赖 
const vid_gai24ozvss_chartConditionDependencyMap = ref({
})
// 图表组件 下拉框_followUpStatus 条件格式数据依赖 
const vid_a7hvylqa3o_chartConditionDependencyMap = ref({
})
// 图表组件 下拉框_跟进状态 条件格式数据依赖 
const vid_i745jj1m50_chartConditionDependencyMap = ref({
})
// 图表组件 下拉框_二级行业 条件格式数据依赖 
const vid_y27fi4r1ku_chartConditionDependencyMap = ref({
})
// 图表组件 下拉框_一级行业 条件格式数据依赖 
const vid_m6dghrd7wr_chartConditionDependencyMap = ref({
})
// 图表组件 表格_7qmtonibyg 条件格式数据依赖 
const vid_876uh449m2_chartConditionDependencyMap = ref({
})
/* ========================== 属性定义 ========================== */
  

  /* -------------------------- 元素数据引用 -------------------------- */
// 组件 表单容器_编辑 ref 的引用
const vid_ypmph53588_ref = ref(null);
// 组件 表单容器_c6m7frlals ref 的引用
const vid_fzonycox3q_ref = ref(null);

/* ========================== 元素数据引用 ========================== */
  

  /* -------------------------- 页面数据 -------------------------- */

// 页面数据 编辑客户管理伙伴
const dataConnector_conn_ty4yhbhdij_response = ref();
const dataConnector_conn_ty4yhbhdij = async (additionParams = {}) => {
    const exec = async () => {
      
      // 获取参数
      const params = {
        mobilePhone: f_8ci2bwlqme.n_cl8z267f01,
      primaryIndustry: f_8ci2bwlqme.s_9y95ptl9yc,
      secondaryIndustry: f_8ci2bwlqme.k_f3hp75oteq,
      contactPerson: f_8ci2bwlqme.u_elwgqo7915,
      ecologicalPartnerManagementId: f_8ci2bwlqme.v_m8y2s2n9um,
      id: vid_kubyotw73r_props?.current.id,
      landlinePhone: f_8ci2bwlqme.o_fcpnika2ng,
      position: f_8ci2bwlqme.x_h3wg9og2br,
      wechatNumber: f_8ci2bwlqme.d_dqpm22o4ci,
      department: f_8ci2bwlqme.y_twnk51x69i,
      followUpStatus: f_8ci2bwlqme.x_h2nmg2f3jt,
      customerName: f_8ci2bwlqme.a_hfmd2rmq7z
      };

      // 注入附加的参数
      try {
        merge(params, additionParams);
      } catch (error) {
        console.log(error)
      }
      // 判断加载提示
      
      // 处理URL
      let url = '/crm/api/built-in-system-crm/customer/editCustomer';
      // 替换url中的变量
      
      // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
      Object.keys(params).forEach(key=>{ if(params[key] === null){ delete params[key] }else if( Object.prototype.toString.call(params[key]) === '[object Object]' ){ Object.keys(params[key]).forEach(childKey=>{ if(params[key][childKey] === null || (Array.isArray(params[key][childKey]) && params[key][childKey].length === 1 && isNullOrUnDef(params[key][childKey]?.[0]))){ delete params[key][childKey] }}) } });
      return put(url, params).then(async (resp) => {
        dataConnector_conn_ty4yhbhdij_response.value = resp;
        
        return resp;
      }).catch(async (e) => {
        
        
        return Promise.reject(e);
      }).finally(async () => {
        
        
      })
    }
    
      return await exec()
    
}
  

// 页面数据 编辑客户管理反显
const dataConnector_conn_c81qf6b1zs_response = ref();
const dataConnector_conn_c81qf6b1zs = async (additionParams = {}) => {
    const exec = async () => {
      
      // 获取参数
      const params = {

      };

      // 注入附加的参数
      try {
        merge(params, additionParams);
      } catch (error) {
        console.log(error)
      }
      // 判断加载提示
      
      // 处理URL
      let url = '/crm/api/built-in-system-crm/customer/{id}';
      // 替换url中的变量
      url = url.replace('{id}', String(vid_kubyotw73r_props?.current.id))
      // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
      Object.keys(params).forEach(key=>{ if(params[key] === null){ delete params[key] }else if( Object.prototype.toString.call(params[key]) === '[object Object]' ){ Object.keys(params[key]).forEach(childKey=>{ if(params[key][childKey] === null || (Array.isArray(params[key][childKey]) && params[key][childKey].length === 1 && isNullOrUnDef(params[key][childKey]?.[0]))){ delete params[key][childKey] }}) } });
      return get(url, params).then(async (resp) => {
        dataConnector_conn_c81qf6b1zs_response.value = resp;
        
        return resp;
      }).catch(async (e) => {
        
        
        return Promise.reject(e);
      }).finally(async () => {
        
        
      })
    }
    
      return await exec()
    
}
  

// 页面数据 查询客户管理列表
const dataConnector_conn_wbkxi14vlr_response = ref();
const dataConnector_conn_wbkxi14vlr = async (additionParams = {}) => {
    const exec = async () => {
      
      // 获取参数
      const params = {
        primaryIndustry: vid_m6dghrd7wr_props?.selected.label,
      secondaryIndustry: vid_y27fi4r1ku_props?.selected.label,
      pageSize: null,
      followUpStatus: vid_i745jj1m50_props?.selected.label,
      pageNum: null,
      customerName: l_7vu2ll5j1s.l_vhmwtap649
      };

      // 注入附加的参数
      try {
        merge(params, additionParams);
      } catch (error) {
        console.log(error)
      }
      // 判断加载提示
      
      // 处理URL
      let url = '/crm/api/built-in-system-crm/customer/list';
      // 替换url中的变量
      
      // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
      Object.keys(params).forEach(key=>{ if(params[key] === null){ delete params[key] }else if( Object.prototype.toString.call(params[key]) === '[object Object]' ){ Object.keys(params[key]).forEach(childKey=>{ if(params[key][childKey] === null || (Array.isArray(params[key][childKey]) && params[key][childKey].length === 1 && isNullOrUnDef(params[key][childKey]?.[0]))){ delete params[key][childKey] }}) } });
      return post(url, params).then(async (resp) => {
        dataConnector_conn_wbkxi14vlr_response.value = resp;
        
        return resp;
      }).catch(async (e) => {
        
        
        return Promise.reject(e);
      }).finally(async () => {
        
        
      })
    }
    
      return await exec()
    
}
  

// 页面数据 查询所有的生态伙伴
const dataConnector_conn_isg0l037qx_response = ref();
const dataConnector_conn_isg0l037qx = async (additionParams = {}) => {
    const exec = async () => {
      
      // 获取参数
      const params = {

      };

      // 注入附加的参数
      try {
        merge(params, additionParams);
      } catch (error) {
        console.log(error)
      }
      // 判断加载提示
      
      // 处理URL
      let url = '/crm/api/built-in-system-crm/customer/allEcologicalPartner';
      // 替换url中的变量
      
      // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
      Object.keys(params).forEach(key=>{ if(params[key] === null){ delete params[key] }else if( Object.prototype.toString.call(params[key]) === '[object Object]' ){ Object.keys(params[key]).forEach(childKey=>{ if(params[key][childKey] === null || (Array.isArray(params[key][childKey]) && params[key][childKey].length === 1 && isNullOrUnDef(params[key][childKey]?.[0]))){ delete params[key][childKey] }}) } });
      return get(url, params).then(async (resp) => {
        dataConnector_conn_isg0l037qx_response.value = resp;
        
        return resp;
      }).catch(async (e) => {
        
        
        return Promise.reject(e);
      }).finally(async () => {
        
        
      })
    }
    
      return await exec()
    
}
  

// 页面数据 客户管理行业列表一级下拉框(筛选)
const dataConnector_conn_b4jcfrzvoj_response = ref();
const dataConnector_conn_b4jcfrzvoj = async (additionParams = {}) => {
    const exec = async () => {
      
      // 获取参数
      const params = {
        industryPid: null
      };

      // 注入附加的参数
      try {
        merge(params, additionParams);
      } catch (error) {
        console.log(error)
      }
      // 判断加载提示
      
      // 处理URL
      let url = '/crm/api/built-in-system-crm/customer/industryList';
      // 替换url中的变量
      
      // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
      Object.keys(params).forEach(key=>{ if(params[key] === null){ delete params[key] }else if( Object.prototype.toString.call(params[key]) === '[object Object]' ){ Object.keys(params[key]).forEach(childKey=>{ if(params[key][childKey] === null || (Array.isArray(params[key][childKey]) && params[key][childKey].length === 1 && isNullOrUnDef(params[key][childKey]?.[0]))){ delete params[key][childKey] }}) } });
      return post(url, params).then(async (resp) => {
        dataConnector_conn_b4jcfrzvoj_response.value = resp;
        
        return resp;
      }).catch(async (e) => {
        
        
        return Promise.reject(e);
      }).finally(async () => {
        
        
      })
    }
    
      return await exec()
    
}
  

// 页面数据 客户管理行业列表二级下拉框(筛选框)
const dataConnector_conn_1nqhl1v94m_response = ref();
const dataConnector_conn_1nqhl1v94m = async (additionParams = {}) => {
    const exec = async () => {
      
      // 获取参数
      const params = {
        industryPid: vid_m6dghrd7wr_props?.selected.value
      };

      // 注入附加的参数
      try {
        merge(params, additionParams);
      } catch (error) {
        console.log(error)
      }
      // 判断加载提示
      
      // 处理URL
      let url = '/crm/api/built-in-system-crm/customer/industryList';
      // 替换url中的变量
      
      // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
      Object.keys(params).forEach(key=>{ if(params[key] === null){ delete params[key] }else if( Object.prototype.toString.call(params[key]) === '[object Object]' ){ Object.keys(params[key]).forEach(childKey=>{ if(params[key][childKey] === null || (Array.isArray(params[key][childKey]) && params[key][childKey].length === 1 && isNullOrUnDef(params[key][childKey]?.[0]))){ delete params[key][childKey] }}) } });
      return post(url, params).then(async (resp) => {
        dataConnector_conn_1nqhl1v94m_response.value = resp;
        
        return resp;
      }).catch(async (e) => {
        
        
        return Promise.reject(e);
      }).finally(async () => {
        
        
      })
    }
    
      return await exec()
    
}
  

// 页面数据 客户管理行业列表二级下拉框(编辑)
const dataConnector_conn_q1s9gps8rf_response = ref();
const dataConnector_conn_q1s9gps8rf = async (additionParams = {}) => {
    const exec = async () => {
      
      // 获取参数
      const params = {
        industryPid: vid_v9ldla8m3l_props?.selected.value
      };

      // 注入附加的参数
      try {
        merge(params, additionParams);
      } catch (error) {
        console.log(error)
      }
      // 判断加载提示
      
      // 处理URL
      let url = '/crm/api/built-in-system-crm/customer/industryList';
      // 替换url中的变量
      
      // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
      Object.keys(params).forEach(key=>{ if(params[key] === null){ delete params[key] }else if( Object.prototype.toString.call(params[key]) === '[object Object]' ){ Object.keys(params[key]).forEach(childKey=>{ if(params[key][childKey] === null || (Array.isArray(params[key][childKey]) && params[key][childKey].length === 1 && isNullOrUnDef(params[key][childKey]?.[0]))){ delete params[key][childKey] }}) } });
      return post(url, params).then(async (resp) => {
        dataConnector_conn_q1s9gps8rf_response.value = resp;
        
        return resp;
      }).catch(async (e) => {
        
        
        return Promise.reject(e);
      }).finally(async () => {
        
        
      })
    }
    
      return await exec()
    
}
  

// 页面数据 客户管理行业列表一级下拉框(编辑)
const dataConnector_conn_pbcy61hkot_response = ref();
const dataConnector_conn_pbcy61hkot = async (additionParams = {}) => {
    const exec = async () => {
      
      // 获取参数
      const params = {
        industryPid: null
      };

      // 注入附加的参数
      try {
        merge(params, additionParams);
      } catch (error) {
        console.log(error)
      }
      // 判断加载提示
      
      // 处理URL
      let url = '/crm/api/built-in-system-crm/customer/industryList';
      // 替换url中的变量
      
      // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
      Object.keys(params).forEach(key=>{ if(params[key] === null){ delete params[key] }else if( Object.prototype.toString.call(params[key]) === '[object Object]' ){ Object.keys(params[key]).forEach(childKey=>{ if(params[key][childKey] === null || (Array.isArray(params[key][childKey]) && params[key][childKey].length === 1 && isNullOrUnDef(params[key][childKey]?.[0]))){ delete params[key][childKey] }}) } });
      return post(url, params).then(async (resp) => {
        dataConnector_conn_pbcy61hkot_response.value = resp;
        
        return resp;
      }).catch(async (e) => {
        
        
        return Promise.reject(e);
      }).finally(async () => {
        
        
      })
    }
    
      return await exec()
    
}
  
/* ========================== 页面数据 ========================== */
  

  /* -------------------------- 响应 -------------------------- */

// 页面交互 工作计划
const response_yrucv2yodd = async () => {
  
const openMode = 'current';
const query = {
  id: vid_kubyotw73r_props?.current.id
};
const jumpInfo = {
  path: '/app_50000137/page/50001755', // 跳转地址
  query
};
const routeUrl = router.resolve(jumpInfo);
let url = routeUrl.href;
// 判断是否是MicroApp的子应用
const microAppData = window.__MICRO_APP_ENVIRONMENT__;
if (microAppData) {
  const urlList = []
  Object.keys(jumpInfo.query).forEach(item=>{
    const urlItem = item + '=' + jumpInfo.query[item];
    urlList.push(urlItem);
  })
  // 判断要跳转的地址是否是用户自定义输入的
  const customJumpPath = 'PAGE_LIST' === 'CUSTOM_PAGE' ? jumpInfo.query.iframe_url : jumpInfo.path;
  // 自定义跳转页面不是其他平台的菜单，则直接使用全路径
  if('PAGE_LIST' === 'CUSTOM_PAGE' && customJumpPath.indexOf('/allin-app/') === -1) {
    url = jumpInfo.query.iframe_url + '?' + urlList.join("&");
  } else if (customJumpPath.indexOf('/allin-app/') !== -1) {
    // 目标页面是其他平台的菜单
    let jumpPath = customJumpPath.substring(customJumpPath.indexOf('/allin-app/'));
    // 配置有参数，需要加参数添加到路由后面
    if(urlList.length) {
      // 跳转的路径本身带有参数
      if(jumpPath.indexOf('?') !== -1) {
        jumpPath += '&' + urlList.join("&");
      } else {
        jumpPath += '?'+ urlList.join("&");
      }
    }
    url = location.origin + jumpPath;
  } else {
    // 目标页面就是低代码项目本身的页面
    url = location.origin + '/allin-app'+ customJumpPath;
  }
}
// 新窗口
if (openMode === 'new') {
  window.open(url, '_blank');
} else if(openMode === 'iframe') {
  _props.src = url;
} else {
  if (microAppData) {
    window.location.href = url;
  } else {
    router.push(jumpInfo);
  }
}

  
}
  

// 页面交互 编辑交互
const response_hq3ukd4ppt = async () => {
  
const branchList = [{
      conditionType: 'EQUALS',
      value: 'success',
      exec: async () => {
          vid_la5kq6chtz_props.show = true;
vid_433d6uohon_props.visible = false;
await dataConnector_conn_wbkxi14vlr()
  // 这里组件可能还未初始化， 这里使用可选链的形式进行函数触发
try {
await vid_ypmph53588_ref.value?.resetFields();
} catch (error) { console.log(error);}
      }
  },{
      conditionType: 'EQUALS',
      value: 'fail',
      exec: async () => {
          vid_di3vjr4k4d_props.show = true;
      }
  }];

const matchBranch = branchList.find(item => checkCaseCondition(dataConnector_conn_ty4yhbhdij_response?.value?.status, item.conditionType, item.value));
// 匹配到的分支
if (matchBranch) {
  matchBranch.exec();
  return;
}
// 默认分支动作

  
}
  
/* ========================== 响应 ========================== */
  

  /* -------------------------- 函数 -------------------------- */

/* ========================== 函数 ========================== */
  

  /* -------------------------- 页面参数 -------------------------- */

const pageParameter_state = reactive({
    'processInstanceId': props.processInstanceId,
})
    
/* ========================== 页面参数 ========================== */
  

  /* -------------------------- 组件事件处理方法 -------------------------- */

// ---------------------------- 组件数据同步 ----------------------------
// 处理 全局提示_编辑失败 的 content 属性关联
watch(() => dataConnector_conn_ty4yhbhdij_response?.value?.message,
() => { vid_di3vjr4k4d_props.content = dataConnector_conn_ty4yhbhdij_response?.value?.message; },
{deep: true})
// 处理 输入框_customerName 的 value 属性关联
watch(() => dataConnector_conn_c81qf6b1zs_response?.value?.data?.customerName,
() => { f_8ci2bwlqme.a_hfmd2rmq7z = dataConnector_conn_c81qf6b1zs_response?.value?.data?.customerName; },
{deep: true})
// 处理 下拉框_primaryIndustry 的 value 属性关联
watch(() => dataConnector_conn_c81qf6b1zs_response?.value?.data?.primaryIndustry,
() => { f_8ci2bwlqme.s_9y95ptl9yc = dataConnector_conn_c81qf6b1zs_response?.value?.data?.primaryIndustry; },
{deep: true})


// 处理 下拉框_primaryIndustry 的 systemList 属性关联
watch(() => dataConnector_conn_pbcy61hkot_response?.value?.data?.dataList,
() => { vid_v9ldla8m3l_options_raw.value = dataConnector_conn_pbcy61hkot_response?.value?.data?.dataList; },
{deep: true})
// 处理 下拉框_secondaryIndustry 的 value 属性关联
watch(() => dataConnector_conn_c81qf6b1zs_response?.value?.data?.secondaryIndustry,
() => { f_8ci2bwlqme.k_f3hp75oteq = dataConnector_conn_c81qf6b1zs_response?.value?.data?.secondaryIndustry; },
{deep: true})


// 处理 下拉框_secondaryIndustry 的 systemList 属性关联
watch(() => dataConnector_conn_q1s9gps8rf_response?.value?.data?.dataList,
() => { vid_hsbzavvkfj_options_raw.value = dataConnector_conn_q1s9gps8rf_response?.value?.data?.dataList; },
{deep: true})
// 处理 输入框_contactPerson 的 value 属性关联
watch(() => dataConnector_conn_c81qf6b1zs_response?.value?.data?.contactPerson,
() => { f_8ci2bwlqme.u_elwgqo7915 = dataConnector_conn_c81qf6b1zs_response?.value?.data?.contactPerson; },
{deep: true})
// 处理 输入框_department 的 value 属性关联
watch(() => dataConnector_conn_c81qf6b1zs_response?.value?.data?.department,
() => { f_8ci2bwlqme.y_twnk51x69i = dataConnector_conn_c81qf6b1zs_response?.value?.data?.department; },
{deep: true})
// 处理 输入框_position 的 value 属性关联
watch(() => dataConnector_conn_c81qf6b1zs_response?.value?.data?.position,
() => { f_8ci2bwlqme.x_h3wg9og2br = dataConnector_conn_c81qf6b1zs_response?.value?.data?.position; },
{deep: true})
// 处理 输入框_mobilePhone 的 value 属性关联
watch(() => dataConnector_conn_c81qf6b1zs_response?.value?.data?.mobilePhone,
() => { f_8ci2bwlqme.n_cl8z267f01 = dataConnector_conn_c81qf6b1zs_response?.value?.data?.mobilePhone; },
{deep: true})
// 处理 输入框_landlinePhone 的 value 属性关联
watch(() => dataConnector_conn_c81qf6b1zs_response?.value?.data?.landlinePhone,
() => { f_8ci2bwlqme.o_fcpnika2ng = dataConnector_conn_c81qf6b1zs_response?.value?.data?.landlinePhone; },
{deep: true})
// 处理 输入框_wechatNumber 的 value 属性关联
watch(() => dataConnector_conn_c81qf6b1zs_response?.value?.data?.wechatNumber,
() => { f_8ci2bwlqme.d_dqpm22o4ci = dataConnector_conn_c81qf6b1zs_response?.value?.data?.wechatNumber; },
{deep: true})
// 处理 下拉框_ecologicalPartnerManagementId 的 value 属性关联
watch(() => dataConnector_conn_c81qf6b1zs_response?.value?.data?.ecologicalPartnerManagementName,
() => { f_8ci2bwlqme.v_m8y2s2n9um = dataConnector_conn_c81qf6b1zs_response?.value?.data?.ecologicalPartnerManagementName; },
{deep: true})


// 处理 下拉框_ecologicalPartnerManagementId 的 systemList 属性关联
watch(() => dataConnector_conn_isg0l037qx_response?.value?.data?.dataList,
() => { vid_gai24ozvss_options_raw.value = dataConnector_conn_isg0l037qx_response?.value?.data?.dataList; },
{deep: true})
// 处理 下拉框_followUpStatus 的 value 属性关联
watch(() => dataConnector_conn_c81qf6b1zs_response?.value?.data?.followUpStatus,
() => { f_8ci2bwlqme.x_h2nmg2f3jt = dataConnector_conn_c81qf6b1zs_response?.value?.data?.followUpStatus; },
{deep: true})
// 处理 下拉框_二级行业 的 systemList 属性关联
watch(() => dataConnector_conn_1nqhl1v94m_response?.value?.data?.dataList,
() => { vid_y27fi4r1ku_options_raw.value = dataConnector_conn_1nqhl1v94m_response?.value?.data?.dataList; },
{deep: true})
// 处理 下拉框_一级行业 的 systemList 属性关联
watch(() => dataConnector_conn_b4jcfrzvoj_response?.value?.data?.dataList,
() => { vid_m6dghrd7wr_options_raw.value = dataConnector_conn_b4jcfrzvoj_response?.value?.data?.dataList; },
{deep: true})
// 处理 case_02a0idel3x 的 caseValue 属性关联
watch(() => dataConnector_conn_wbkxi14vlr_response?.value?.data?.totalElements,
() => { vid_6eg0znmi6j_props.caseValue = dataConnector_conn_wbkxi14vlr_response?.value?.data?.totalElements; },
{deep: true})
// 处理 For循环_lmxpcas79o 的 systemList 属性关联
watch(() => dataConnector_conn_wbkxi14vlr_response?.value?.data?.dataList,
() => { vid_kubyotw73r_props.dataSource = dataConnector_conn_wbkxi14vlr_response?.value?.data?.dataList; },
{deep: true})
// ============================ 组件数据同步 ============================
  
/**
* 处理元素 对话框 的 cancel 事件
*/
let handle_vid_433d6uohon_cancel = throttle(async (...params) => {
vid_433d6uohon_props.visible = false;
// 这里组件可能还未初始化， 这里使用可选链的形式进行函数触发
try {
await vid_ypmph53588_ref.value?.resetFields();
} catch (error) { console.log(error);}
}, 500)
/**
* 处理元素 对话框 的 ok 事件
*/
let handle_vid_433d6uohon_ok = throttle(async (...params) => {
// 这里组件可能还未初始化， 这里使用可选链的形式进行函数触发
await vid_ypmph53588_ref.value?.validateFields();
vid_433d6uohon_props.visible = false;
await dataConnector_conn_ty4yhbhdij()
response_hq3ukd4ppt()
}, 500)
/**
* 处理元素 下拉框 的 focus 事件
*/
let handle_vid_v9ldla8m3l_focus = throttle(async (...params) => {
await dataConnector_conn_pbcy61hkot()
}, 500)
/**
* 处理元素 下拉框 的 change 事件
*/
let handle_vid_v9ldla8m3l_change = throttle(async (...params) => {
const [,option] = params;
vid_v9ldla8m3l_props.selected.label = option?.label;
vid_v9ldla8m3l_props.selected.value = option?.value;
vid_v9ldla8m3l_props.selected.option = option;
}, 500)
/**
* 处理元素 下拉框 的 search 事件
*/
let handle_vid_v9ldla8m3l_search = throttle(async (...params) => {
const [searchValue] = params;
vid_v9ldla8m3l_props.searchValue = searchValue;
}, 500)
/**
* 处理元素 下拉框 的 focus 事件
*/
let handle_vid_hsbzavvkfj_focus = throttle(async (...params) => {
await dataConnector_conn_q1s9gps8rf()
}, 500)
/**
* 处理元素 下拉框 的 change 事件
*/
let handle_vid_hsbzavvkfj_change = throttle(async (...params) => {
const [,option] = params;
vid_hsbzavvkfj_props.selected.label = option?.label;
vid_hsbzavvkfj_props.selected.value = option?.value;
vid_hsbzavvkfj_props.selected.option = option;
}, 500)
/**
* 处理元素 下拉框 的 search 事件
*/
let handle_vid_hsbzavvkfj_search = throttle(async (...params) => {
const [searchValue] = params;
vid_hsbzavvkfj_props.searchValue = searchValue;
}, 500)
/**
* 处理元素 下拉框 的 focus 事件
*/
let handle_vid_gai24ozvss_focus = throttle(async (...params) => {
await dataConnector_conn_isg0l037qx()
}, 500)
/**
* 处理元素 下拉框 的 change 事件
*/
let handle_vid_gai24ozvss_change = throttle(async (...params) => {
const [,option] = params;
vid_gai24ozvss_props.selected.label = option?.label;
vid_gai24ozvss_props.selected.value = option?.value;
vid_gai24ozvss_props.selected.option = option;
}, 500)
/**
* 处理元素 下拉框 的 search 事件
*/
let handle_vid_gai24ozvss_search = throttle(async (...params) => {
const [searchValue] = params;
vid_gai24ozvss_props.searchValue = searchValue;
}, 500)
/**
* 处理元素 下拉框 的 change 事件
*/
let handle_vid_a7hvylqa3o_change = throttle(async (...params) => {
const [,option] = params;
vid_a7hvylqa3o_props.selected.label = option?.label;
vid_a7hvylqa3o_props.selected.value = option?.value;
vid_a7hvylqa3o_props.selected.option = option;
}, 500)
/**
* 处理元素 下拉框 的 search 事件
*/
let handle_vid_a7hvylqa3o_search = throttle(async (...params) => {
const [searchValue] = params;
vid_a7hvylqa3o_props.searchValue = searchValue;
}, 500)
/**
* 处理元素 下拉框 的 change 事件
*/
let handle_vid_i745jj1m50_change = throttle(async (...params) => {
const [,option] = params;
vid_i745jj1m50_props.selected.label = option?.label;
vid_i745jj1m50_props.selected.value = option?.value;
vid_i745jj1m50_props.selected.option = option;
}, 500)
/**
* 处理元素 下拉框 的 search 事件
*/
let handle_vid_i745jj1m50_search = throttle(async (...params) => {
const [searchValue] = params;
vid_i745jj1m50_props.searchValue = searchValue;
}, 500)
/**
* 处理元素 下拉框 的 focus 事件
*/
let handle_vid_y27fi4r1ku_focus = throttle(async (...params) => {
await dataConnector_conn_1nqhl1v94m()
}, 500)
/**
* 处理元素 下拉框 的 change 事件
*/
let handle_vid_y27fi4r1ku_change = throttle(async (...params) => {
const [,option] = params;
vid_y27fi4r1ku_props.selected.label = option?.label;
vid_y27fi4r1ku_props.selected.value = option?.value;
vid_y27fi4r1ku_props.selected.option = option;
}, 500)
/**
* 处理元素 下拉框 的 search 事件
*/
let handle_vid_y27fi4r1ku_search = throttle(async (...params) => {
const [searchValue] = params;
vid_y27fi4r1ku_props.searchValue = searchValue;
}, 500)
/**
* 处理元素 下拉框 的 focus 事件
*/
let handle_vid_m6dghrd7wr_focus = throttle(async (...params) => {
await dataConnector_conn_b4jcfrzvoj()
}, 500)
/**
* 处理元素 下拉框 的 change 事件
*/
let handle_vid_m6dghrd7wr_change = throttle(async (...params) => {
const [,option] = params;
vid_m6dghrd7wr_props.selected.label = option?.label;
vid_m6dghrd7wr_props.selected.value = option?.value;
vid_m6dghrd7wr_props.selected.option = option;
}, 500)
/**
* 处理元素 下拉框 的 search 事件
*/
let handle_vid_m6dghrd7wr_search = throttle(async (...params) => {
const [searchValue] = params;
vid_m6dghrd7wr_props.searchValue = searchValue;
}, 500)
/**
* 处理元素 按钮 的 click 事件
*/
let handle_vid_rzg1hbgb75_click = throttle(async (...params) => {
await dataConnector_conn_wbkxi14vlr()
}, 500)
/**
* 处理元素 按钮 的 click 事件
*/
let handle_vid_hgokogfx2s_click = throttle(async (...params) => {
// 这里组件可能还未初始化， 这里使用可选链的形式进行函数触发
try {
await vid_fzonycox3q_ref.value?.resetFields();
} catch (error) { console.log(error);}
await dataConnector_conn_wbkxi14vlr()
}, 500)
/**
* 处理元素 按钮 的 click 事件
*/
let handle_vid_z675o5mui5_click = throttle(async (...params) => {
vid_433d6uohon_props.visible = true;
await dataConnector_conn_c81qf6b1zs()
await dataConnector_conn_pbcy61hkot()
}, 500)
/**
* 处理元素 按钮 的 click 事件
*/
let handle_vid_g6pyc00nnn_click = throttle(async (...params) => {
response_yrucv2yodd()
}, 500)
/**
* 处理元素 表格 的 change 事件
*/
let handle_vid_876uh449m2_change = throttle(async (...params) => {
// 处理分页器相关数据
const [pagination, filters, sorter] = params;
const { current, pageSize } = pagination;
vid_876uh449m2_props.rt_tableConfig.pagination.current = current;
vid_876uh449m2_props.rt_tableConfig.pagination.pageSize = pageSize;
// 处理排序相关数据
const { field, order } = sorter;
const sorterList = [...vid_876uh449m2_props.rowMergeSort];
let sorterValue = {};
if (order === 'descend') {
sorterValue = { order: field, direction: 'DESC' }
} else if (order === 'ascend') {
sorterValue = { order: field, direction: 'ASC' }
}
sorterList.push(sorterValue);
vid_876uh449m2_props.systemSort = sorterList;
vid_876uh449m2_props.sorter = sorterValue;
}, 500)
/* ========================== 组件事件处理方法 ========================== */
  

  /* -------------------------- 生命周期 -------------------------- */
onMounted(() => {dataConnector_conn_wbkxi14vlr()
dataConnector_conn_pbcy61hkot()
  
});

onUnmounted(() => {
  // 销毁定时器
  setTimeOutList.forEach(({ repeat, timer }) => {
    repeat ?  clearInterval(timer): clearTimeout(timer);
  });
});
  
/* ========================== 生命周期 ========================== */
  

  /* -------------------------- 数据关联处理 -------------------------- */

  // 处理 全局提示_编辑成功 全局消息
    immediateWatch(
        () => vid_la5kq6chtz_props.show,
        () => {
            if (vid_la5kq6chtz_props.show) {
                message[vid_la5kq6chtz_props.type](vid_la5kq6chtz_props.content, vid_la5kq6chtz_props.duration, () => {
                    vid_la5kq6chtz_props.show = false
                })
            }
        }
    )
// 处理 全局提示_编辑失败 全局消息
    immediateWatch(
        () => vid_di3vjr4k4d_props.show,
        () => {
            if (vid_di3vjr4k4d_props.show) {
                message[vid_di3vjr4k4d_props.type](vid_di3vjr4k4d_props.content, vid_di3vjr4k4d_props.duration, () => {
                    vid_di3vjr4k4d_props.show = false
                })
            }
        }
    )
  
  

  /* -------------------------- 表单数据同步 -------------------------- */
/* ========================== 表单数据同步 ========================== */
  
/* ========================== 数据关联处理 ========================== */
  

  /* -------------------------- 不同组件自定义的处理逻辑 -------------------------- */
immediateWatch(
() => f_8ci2bwlqme?.s_9y95ptl9yc,
() => {
  if(!!handle_vid_v9ldla8m3l_change) {
  const options = (vid_v9ldla8m3l_options?.value() || []).find((item) => item.value === f_8ci2bwlqme?.s_9y95ptl9yc || item.label === f_8ci2bwlqme?.s_9y95ptl9yc )
    // 重置了表单，这里重置下拉框
    handle_vid_v9ldla8m3l_change(f_8ci2bwlqme?.s_9y95ptl9yc, {...options} || {})
  }
}
)
immediateWatch(
() => f_8ci2bwlqme?.k_f3hp75oteq,
() => {
  if(!!handle_vid_hsbzavvkfj_change) {
  const options = (vid_hsbzavvkfj_options?.value() || []).find((item) => item.value === f_8ci2bwlqme?.k_f3hp75oteq || item.label === f_8ci2bwlqme?.k_f3hp75oteq )
    // 重置了表单，这里重置下拉框
    handle_vid_hsbzavvkfj_change(f_8ci2bwlqme?.k_f3hp75oteq, {...options} || {})
  }
}
)
immediateWatch(
() => f_8ci2bwlqme?.v_m8y2s2n9um,
() => {
  if(!!handle_vid_gai24ozvss_change) {
  const options = (vid_gai24ozvss_options?.value() || []).find((item) => item.value === f_8ci2bwlqme?.v_m8y2s2n9um || item.label === f_8ci2bwlqme?.v_m8y2s2n9um )
    // 重置了表单，这里重置下拉框
    handle_vid_gai24ozvss_change(f_8ci2bwlqme?.v_m8y2s2n9um, {...options} || {})
  }
}
)
immediateWatch(
() => f_8ci2bwlqme?.x_h2nmg2f3jt,
() => {
  if(!!handle_vid_a7hvylqa3o_change) {
  const options = (vid_a7hvylqa3o_options?.value() || []).find((item) => item.value === f_8ci2bwlqme?.x_h2nmg2f3jt || item.label === f_8ci2bwlqme?.x_h2nmg2f3jt )
    // 重置了表单，这里重置下拉框
    handle_vid_a7hvylqa3o_change(f_8ci2bwlqme?.x_h2nmg2f3jt, {...options} || {})
  }
}
)
immediateWatch(
() => l_7vu2ll5j1s?.x_bqacwd15ni,
() => {
  if(!!handle_vid_i745jj1m50_change) {
  const options = (vid_i745jj1m50_options?.value() || []).find((item) => item.value === l_7vu2ll5j1s?.x_bqacwd15ni || item.label === l_7vu2ll5j1s?.x_bqacwd15ni )
    // 重置了表单，这里重置下拉框
    handle_vid_i745jj1m50_change(l_7vu2ll5j1s?.x_bqacwd15ni, {...options} || {})
  }
}
)
immediateWatch(
() => l_7vu2ll5j1s?.q_ahawy49ux2,
() => {
  if(!!handle_vid_y27fi4r1ku_change) {
  const options = (vid_y27fi4r1ku_options?.value() || []).find((item) => item.value === l_7vu2ll5j1s?.q_ahawy49ux2 || item.label === l_7vu2ll5j1s?.q_ahawy49ux2 )
    // 重置了表单，这里重置下拉框
    handle_vid_y27fi4r1ku_change(l_7vu2ll5j1s?.q_ahawy49ux2, {...options} || {})
  }
}
)
immediateWatch(
() => l_7vu2ll5j1s?.z_73ucc2mop4,
() => {
  if(!!handle_vid_m6dghrd7wr_change) {
  const options = (vid_m6dghrd7wr_options?.value() || []).find((item) => item.value === l_7vu2ll5j1s?.z_73ucc2mop4 || item.label === l_7vu2ll5j1s?.z_73ucc2mop4 )
    // 重置了表单，这里重置下拉框
    handle_vid_m6dghrd7wr_change(l_7vu2ll5j1s?.z_73ucc2mop4, {...options} || {})
  }
}
)
// 生成表格列：相同分组的数据需要合并单元格
const vid_876uh449m2_columns = computed(() => {
// 需要合并单元格的列
const groupKeys = [];
const rawColumnList =[...vid_876uh449m2_props.columnList];
/*** PUBLISH_EXEGESIS ***
// 获取缓存的表格列宽度，处理列宽信息
UserTableRecords.getTableRecords(localGet('al__UID')).then((res) => {
  const columnWidthMap = res['vid_876uh449m2'] ?? {};
  rawColumnList.map((column) => {
    if(columnWidthMap[column.dataIndex]) {
      column.width = columnWidthMap[column.dataIndex]
    }
  })
});
*** PUBLISH_EXEGESIS ***/
// 将表头配置按照groupTitle字段进行分组，以实现多级表头
const columnList = generatorGroupedColumnList(rawColumnList);

function formatColumns(columnList) {
  columnList.forEach(item => {
    const { dataIndex, contentAlign, children, customCellStyle } = item;
    // 如果当前列是分组列，则递归处理它的子列，当前列本身不作处理
    if (!dataIndex && children && children.length) {
      formatColumns(children);
      return;
    }

    const groupIndex = groupKeys.findIndex(item => item === dataIndex);
    // 如果当前字段属于分组字段，则给它添加合并单元格的配置，否则直接返回
    if (groupIndex === -1) {
      item.customCell = (record, index) => {
        return { style: { 'text-align': contentAlign, ...(customCellStyle || {}) } };
      };
    } else {
      item.customCell = (record, index) => {
        const rowGroupKeys = groupKeys.slice(0, groupIndex + 1);
        const rowSpanList = generateRowSpanList(vid_876uh449m2_options.value(), rowGroupKeys,vid_876uh449m2_props.editRecordMap);
        return { rowSpan: rowSpanList[index], style: { 'text-align': contentAlign, ...(customCellStyle || {}) } };
      };
    }
  })
}

// 格式化column：增加合并单元格的配置，以及自定义样式
formatColumns(columnList);

return columnList;
});


// 表格分页器信息：将总条数信息加到基础分页信息中
const vid_876uh449m2_pagination = computed(() => {
  const { totalNumber, rt_tableConfig } = vid_876uh449m2_props;
  const {
    enable = true,
    current= 1,
    pageSize= 10,
    showSizeChanger= false,
    pageSizeOptions= '10,20,30,40',
    showTotal= false,
    showQuickJumper= false,
    simple= false,
    hideOnSinglePage= false,
  } = rt_tableConfig.pagination ?? {};
  const { size = 'default', layout='bottomRight' } = rt_tableConfig?.style?.paginationStyle || {}
  let info = {};
  if(enable) {
    info = {
      total: totalNumber || 0,
      pageSize,
      size,
      simple,
      current,
      showSizeChanger,
      pageSizeOptions: pageSizeOptions.split(','),
      showQuickJumper,
      hideOnSinglePage,
      position: [layout],
    }
    if(showTotal) {
      info.showTotal = (total, range) => `共${total}个项目，第${current}/${Math.ceil(total / pageSize)}页`
    }
    return info;
  }
  return false;
})
/**
* 生成分组字段合并单元格的配置：返回值为一个数字数组，数组里面每一项即为该字段当前行的rowSpan配置
* @param {Array} 表格中的数据
* @param {Array} 当前分组字段的列表，注：为了保证优先级低的字段合并后是优先级高的字段合并后的子集，需要把比该字段优先级高的分组字段按顺序放在该字段前面；例如：所有分组字段列表为['grade', 'age', 'score']，要生成age字段的合并单元格配置，则该参数需要传['grade', 'age']
* @returns {Array} 该字段合并单元格的rowSpan配置，例：[1, 1, 2, 0, 1]
*/
function generateRowSpanList(dataSource, groupKeys,editRecordMap) {
if (!dataSource || !dataSource.length) {
  return [];
}

const rowSpanList = [];

// 判断单元格是否需要合并的临时值：使用表格数据最后一行进行初始化（表格数据的遍历是倒序进行的）
let tempValue = getGroupValue(dataSource[dataSource.length - 1], groupKeys);
// 记录需要合并单元格的数量
let tempValueCount = 0;

// 倒序遍历数组，以保证使用最前面一条数据合并单元格
for (let index = dataSource.length - 1; index >= 0; index--) {
  rowSpanList[index] = 0;
  const groupValue = getGroupValue(dataSource[index], groupKeys);
  // 如果当前行的分组数据跟上一行一致，则将标记数量加一；否则将标记数量的当前值赋给上一条数据，并重置临时值和标记数量
  if(editRecordMap && editRecordMap[index]){ //如果当前行是编辑行
    rowSpanList[index + 1] = tempValueCount;
    tempValue = "";
    tempValueCount=1;
  }
  else if (groupValue === tempValue) {
    tempValueCount++;
  } else {
    rowSpanList[index + 1] = tempValueCount;
    tempValue = groupValue;
    tempValueCount = 1;
  }

  // 遍历到最后一行，将当前的标记数量赋给当前行
  if (index === 0) {
    rowSpanList[index] = tempValueCount;
  }
}

return rowSpanList;
}

/**
* 根据分组字段列表生成当前数据行的分组值
* @param {Object} 当前数据行
* @param {Array} 分组字段列表
* @returns {String} 拼装的当前数据行的分组值，例：record为{ age: 7, grade: '一年级', name: '小赵' }，groupKeys为['grade', 'age']，则拼装后的返回值为'一年级__$__7'
*/
function getGroupValue(record, groupKeys) {
const groupValueList = [];
groupKeys.forEach(groupKey => {
  groupValueList.push(`${record[groupKey]}`);
});

return groupValueList.join('__$__');
}

// 生成过长省略的样式
function textTruncate(width){
if (!width) {
  return {};
}
return {
  whiteSpace: 'nowrap',
  overflow: 'hidden',
  textOverflow: 'ellipsis',
  display: 'block',
  width:  typeof(width) === 'number' ? width + 'px' : width
}
}

/**
* 将列表数据转换成树状数据
* @param {Array} 原始的列表数据
* @param {String|Number} 列表数据的唯一key
* @param {String|Number} 列表数据转成树时的父级id
*/
function convertListToTree(list, key, parentKey) {
const clonedList = cloneDeep(list || []);

// 遍历列表数据，生成树节点的map：key为列表数据的唯一key，value为列表当前行的数据
const treeNodeMap = {};
clonedList.forEach(item => {
  treeNodeMap[item[key]] = item;
});

const treeDataList = [];
clonedList.forEach(item => {
  // 如果当前行数据的父级id不在树节点的map中，则当前数据为根节点数据，将其加入最终树形数据的列表；否则将其放入其父节点数据的children中
  if (!treeNodeMap[item[parentKey]]) {
    treeDataList.push(item);
  } else {
    if (!treeNodeMap[item[parentKey]].children) {
      treeNodeMap[item[parentKey]].children = [];
    }
    treeNodeMap[item[parentKey]].children.push(item);
  }
});

return treeDataList;
}

/**
* 将原始的列配置列表，按照groupTitle的值进行分组，以实现多级表头
* @param rawColumnList 原始的列配置列表
*/
function generatorGroupedColumnList(rawColumnList) {
// 生成分组表头的map：key为分组表头的名称，value为该分组下所有的column配置代码的字符串列表
const groupColumnMap = {};
rawColumnList.forEach((columnItem) => {
  if (!columnItem.groupTitle) {
    return;
  }

  if (!groupColumnMap[columnItem.groupTitle]) {
    groupColumnMap[columnItem.groupTitle] = [];
  }
  groupColumnMap[columnItem.groupTitle].push(columnItem);
});

const columnList = [];
rawColumnList.forEach((columnItem) => {
  const { groupTitle } = columnItem;

  // 如果不存在分组字段，则使用原始的列配置
  if (!groupTitle) {
    columnList.push(columnItem);
    return;
  }

  // 如果存在分组表头，且该分组还没加入到列配置列表，则将其加入列配置列表，并将其从groupColumnMap中删除
  if (groupColumnMap[groupTitle]) {
    columnList.push({
      title: groupTitle,
      children: groupColumnMap[groupTitle],
    });

    delete groupColumnMap[groupTitle];
  }
});

return columnList;
}
/**
* 表格列宽伸缩处理，使用indexedDB缓存伸缩后的列宽度
*/
const handleResizeColumn = (w, col, vid) => {
col.width = w;
/*** PUBLISH_EXEGESIS ***
UserTableRecords.saveTableRecords(col, localGet('al__UID'), vid)
*** PUBLISH_EXEGESIS ***/
}
/* ========================== 不同组件自定义的处理逻辑 ========================== */
  

// ================================定制化逻辑========================================
</script>
<style lang="less" scoped>
  .page_root {
width: 100%;
height: 100%;
overflow: auto;
background-color:rgba(240, 242, 245, 1);
}
.page_root :deep(.@{ant-prefix}-spin-nested-loading),
.page_root :deep(.@{ant-prefix}-spin-container)
{
  height: 100%;
}
.table-moreBtn_down {
overflow: hidden; white-space: nowrap; text-overflow: ellipsis; width: 100px;
}

.table-moreBtn_menu :deep(.table-moreBtn_menu-item):hover {
background: #ebf1ff;
}

/*  表格树结构样式处理，展开按钮层级增加*/
:deep(.@{ant-prefix}-table-row-expand-icon) {
z-index: 1;
}
/*  表格树结构 由于每个表格项采用自定义组件，使用绝对定位布局，开启树结构导致显示异常，暂时使用层级定位位置 */
:deep(.@{ant-prefix}-table-row-level-1 .ant-table-cell-with-append .cell-wrapper-left) {
left: 15px !important;
width: calc(100% - 15px);
}
:deep(.@{ant-prefix}-table-row-level-2 .ant-table-cell-with-append .cell-wrapper-left) {
left: 30px !important;
width: calc(100% - 30px);
}
:deep(.@{ant-prefix}-table-row-level-3 .ant-table-cell-with-append .cell-wrapper-left) {
left: 45px !important;
width: calc(100% - 45px);
}
:deep(.@{ant-prefix}-table-row-level-4 .ant-table-cell-with-append .cell-wrapper-left) {
left: 60px !important;
width: calc(100% - 60px);
}

/* 穿梭框改变默认样式，为根据组件样式控制左右栏宽度。 */
:deep(.@{ant-prefix}-transfer-list)
{
  height: 100%;
  width: 50%;
}
.vid_nythvmq2tq{
  margin-right:16px
}
.vid_v9ldla8m3l{
  width:100%
}
.vid_18em8sj1fr{
  margin-right:16px
}
.vid_hsbzavvkfj{
  width:100%
}
.vid_6mbhcv3cxx{
  margin-right:16px
}
.vid_dbnw19duw2{
  margin-right:16px
}
.vid_udufbcbeti{
  margin-right:16px
}
.vid_gai24ozvss{
  width:100%
}
.vid_vdfitxk2j2{
  margin-right:16px;
  margin-bottom:0px
}
.vid_a7hvylqa3o{
  width:100%
}
.vid_fzonycox3q{
  padding-top:16px;
  padding-bottom:16px;
  padding-left:16px;
  background-color:rgba(255, 255, 255, 1);
  box-shadow:0px 0px 0px 0px 
}
.vid_ebc8zcplds{
  display:flex;
  flex-wrap:undefined;
  box-shadow:0px 0px 0px 0px ;
  border-bottom-color:#F5F5F5
}
.vid_3ksbr89ny1{
  margin-right:16px;
  margin-bottom:0px
}
.vid_pv9p84e7ck{
  margin-right:16px;
  margin-bottom:0px
}
.vid_i745jj1m50{
  width:100%
}
.vid_rxm6g1n2ww{
  margin-right:16px;
  margin-bottom:0px
}
.vid_y27fi4r1ku{
  width:100%
}
.vid_0dbjpi0owt{
  margin-right:16px;
  margin-bottom:0px
}
.vid_m6dghrd7wr{
  width:100%
}
.vid_hgokogfx2s{
  margin-left:16px
}
.vid_ghzkvi0dad{
  height:8px
}
.vid_ipfjclkse5{
  display:block;
  padding-right:24px;
  padding-bottom:16px;
  padding-left:24px;
  background-color:rgba(255, 255, 255, 1)
}
.vid_arq3rawopq{
  overflow-x:auto;
  overflow-y:auto;
  display:block;
  padding-top:16px;
  padding-bottom:16px;
  box-shadow:0px 0px 0px 0px 
}
.vid_94pfuy1hr1{
  display:flex;
  align-items:center;
  flex-wrap:undefined
}
.vid_ereqk9dmlh{
  padding-left:8px;
  font-weight:600;
  font-size:16px;
  line-height:16px;
  border-left-style:solid;
  border-left-width:4px;
  border-left-color:#3875FF
}
.vid_id3n9yeb6s{
  display:flex;
  flex-direction:row;
  justify-content:flex-end;
  flex-wrap:undefined
}
.vid_vymqw2fenk{
  display:block;
  margin-bottom:16px;
  padding-top:8px;
  padding-right:16px;
  padding-bottom:16px;
  padding-left:16px;
  background-color:rgba(255, 255, 255, 1);
  box-shadow:0px 0px 4px 0px #E7E7E7;
  border-style:solid;
  border-width:1px;
  border-color:#3875FF;
  border-left-style:solid;
  border-left-width:1px;
  border-left-color:#3875FF
}
.vid_0ui7ey5w9s{
  width:100%;
  display:flex;
  align-items:center;
  flex-wrap:undefined
}
.vid_s82gk4w68w{
  font-weight:600;
  color:rgba(56, 117, 255, 1);
  font-size:18px
}
.vid_iwq77d82pi{
  margin-left:16px;
  font-style:italic;
  color:rgba(89, 89, 89, 1)
}
.vid_i3g9fjdepl{
  font-style:italic;
  color:rgba(38, 38, 38, 1)
}
.vid_shktqpf8jo{
  display:flex;
  flex-direction:row;
  justify-content:flex-end;
  flex-wrap:undefined
}
.vid_z675o5mui5{
  margin-right:8px;
  color:rgba(56, 117, 255, 1);
  background-color:rgba(230, 236, 250, 1);
  border-style:solid;
  border-width:1px;
  border-color:#E6ECFA
}
.vid_g6pyc00nnn{
  margin-right:8px;
  color:rgba(56, 117, 255, 1);
  background-color:rgba(230, 236, 250, 1);
  border-style:solid;
  border-width:1px;
  border-color:#E6ECFA
}
.vid_50n0yjil6h{
  margin-top:8px
}
.vid_876uh449m2 :deep(.@{ant-prefix}-table-thead) > tr {
  height: 40px;
}
.vid_876uh449m2 :deep(.@{ant-prefix}-table-thead) > tr > th {
background: #F5F5F5;
font-size: 14px;
font-family: arial, helvetica, "microsoft yahei";;
font-weight: 400;
color: #595959;
border-bottom:1px solid #EBEBEB;
padding: 0 24px;
}
.vid_876uh449m2 :deep(.@{ant-prefix}-table.@{ant-prefix}-table-bordered) > .@{ant-prefix}-table-container > .@{ant-prefix}-table-content > table > thead > tr:not(:last-child) > th {
border-bottom:1px solid #EBEBEB;
}
.vid_876uh449m2 :deep(.@{ant-prefix}-table.@{ant-prefix}-table-bordered) > .@{ant-prefix}-table-container > .@{ant-prefix}-table-content > table > thead > tr > th {
border-right:1px solid #EBEBEB;
}
.vid_876uh449m2 :deep(.@{ant-prefix}-table.@{ant-prefix}-table-bordered) > .@{ant-prefix}-table-container {
border-left: none;
}
.vid_876uh449m2 :deep(.@{ant-prefix}-table.@{ant-prefix}-table-bordered) > .@{ant-prefix}-table-container > .@{ant-prefix}-table-content > table > thead > tr > th:first-child {
border-left:1px solid #EBEBEB;
}
.vid_876uh449m2 :deep(.@{ant-prefix}-table.@{ant-prefix}-table-bordered) > .@{ant-prefix}-table-container > .@{ant-prefix}-table-content > table {
border-top:1px solid #EBEBEB;
}
.vid_876uh449m2 :deep(.@{ant-prefix}-table-thead) > tr > th:not(:last-child):not(.@{ant-prefix}-table-selection-column):not(.@{ant-prefix}-table-row-expand-icon-cell):not([colspan])::before {
  background: #EBEBEB;
  width: 1px;
}
.vid_876uh449m2 :deep(.@{ant-prefix}-table-cell-scrollbar) {
  box-shadow: none;
}
.vid_876uh449m2 :deep(.@{ant-prefix}-table-tbody) tr {
height: 40px;
}
.vid_876uh449m2 :deep(.@{ant-prefix}-table-tbody) tr > td {
font-size: 14px;
font-family: arial, helvetica, "microsoft yahei";;
font-weight: 600;
color: #262626;
border-bottom:1px solid #EBEBEB;
padding: 0 24px;
word-break: break-all;
}
.vid_876uh449m2 :deep(.@{ant-prefix}-table-empty .@{ant-prefix}-table-tbody tr > td) {
padding: 0;
}
.vid_876uh449m2 :deep(.@{ant-prefix}-table-tbody) tr > td .@{ant-prefix}-btn {
padding: 0 30px 0 0;
}
.vid_876uh449m2 :deep(.@{ant-prefix}-table-tbody) tr > td .@{ant-prefix}-btn:last-child {
padding: 0;
}
.vid_876uh449m2 :deep(.table-striped-odd) td {
background-color: #FFFFFF;
}
.vid_876uh449m2 :deep(.table-striped-even) td {
background-color: #FAFAFA;
}
.vid_876uh449m2 :deep(.@{ant-prefix}-table.@{ant-prefix}-table-bordered) > .@{ant-prefix}-table-container > .@{ant-prefix}-table-content > table > tbody > tr > td {
border-right:1px solid #EBEBEB;
}
.vid_876uh449m2 :deep(.@{ant-prefix}-table.@{ant-prefix}-table-bordered) > .@{ant-prefix}-table-container > .@{ant-prefix}-table-content > table > tbody > tr > td:first-child {
border-left:1px solid #EBEBEB;
}
.vid_876uh449m2{
  width:100%
}
.vid_mjgl1tb4om{
  display:flex;
  align-items:center;
  flex-wrap:undefined;
  margin-top:8px;
  padding-top:8px;
  padding-right:16px;
  padding-bottom:8px;
  padding-left:16px;
  border-style:solid;
  border-width:1px;
  border-color:#D9D9D9
}
.vid_gwgjwm27e3{
  width:108px;
  color:rgba(255, 255, 255, 1);
  background-color:rgba(0, 189, 255, 1);
  border-style:solid;
  border-width:1px;
  border-color:#00BDFF
}
.vid_tix0f0rp3x{
  padding-left:8px;
  line-height:22px
}
.vid_gd4xhad0l9{
  display:flex;
  align-items:center;
  flex-wrap:undefined;
  margin-top:8px;
  padding-top:8px;
  padding-right:16px;
  padding-bottom:8px;
  padding-left:16px;
  border-style:solid;
  border-width:1px;
  border-color:#D9D9D9
}
.vid_vu4uhb8cma{
  color:rgba(255, 255, 255, 1);
  background-color:rgba(118, 102, 250, 1);
  border-style:solid;
  border-width:1px;
  border-color:#7666FA
}
.vid_or3ux5qckp{
  padding-left:8px;
  line-height:22px
}
.vid_ndzaa37elp{
  height:240px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:undefined;
  background-color:rgba(240, 242, 245, 1)
}
</style>